Optional.ofNullable(T value).orElse(T other)
是 Java 8 引入的 Optional
类的一个常见用法,它允许你以更优雅的方式处理可能为 null
的值。
这里是它的基本工作原理:
Optional.ofNullable(T value)
: 这个方法会尝试将给定的值(可能是null
)封装成一个Optional
对象。如果值是null
,那么你会得到一个空的Optional
对象;否则,你会得到一个包含该值的Optional
对象。orElse(T other)
: 如果Optional
对象包含值(即它不是空的),那么这个方法会返回该值。否则,它会返回你提供的默认值(other
)。
以下是一个简单的示例:
String possiblyNull = getSomeStringThatCouldBeNull(); // 可能返回 null
// 使用 Optional.ofNullable 和 orElse
String result = Optional.ofNullable(possiblyNull).orElse("默认值");
// 如果 possiblyNull 是 null,那么 result 将是 "默认值"
// 如果 possiblyNull 不是 null,那么 result 将是 possiblyNull 的值
在这个例子中,我们避免了直接的 null
检查,并使用了 Optional
来更清晰地表达我们的意图。虽然对于简单的 null
检查,使用 Optional
可能看起来有些冗长,但在更复杂的逻辑中,它可以帮助你避免 NullPointerException
并使代码更具可读性。
0条评论
点击登录参与评论