optional.orElse
时间: 2024-06-12 09:08:52 浏览: 135
optional.orElse和optional.orElseGet的区别在于,当Optional对象为空时,orElse会直接返回备选值,而orElseGet会执行传入的Supplier函数来获取备选值。
关于以上引用内容中的示例代码,第一个输出语句输出的结果是1,因为optional对象不为空,所以返回optional中的值。第二个输出语句会直接抛出空指针异常,因为使用of方法定义Optional对象时,不允许传入null值。第三个输出语句输出的结果是2,因为optional对象为空,所以返回备选值2。第四个输出语句输出的结果是3,因为optional对象为空,所以执行orElseGet中的Supplier函数来获取备选值3。第五个输出语句会抛出BusinessException异常,因为optional对象为空,所以执行orElseThrow中的Supplier函数来抛出异常。
相关问题
Optional.of.orElse
`Optional.of.orElse`是Java 8中的一个方法,它可以用于创建一个非空的Optional对象,并在Optional对象为空时提供一个默认值。具体来说,`Optional.of`方法可以将一个非空的值包装成Optional对象,而`orElse`方法则可以在Optional对象为空时提供一个默认值。
下面是一个例子,假设我们有一个可能为空的字符串,我们可以使用`Optional.of.orElse`方法来获取它的值或者提供一个默认值:
```java
String str = null;
String result = Optional.ofNullable(str).orElse("default");
System.out.println(result); // 输出:default
```
在上面的例子中,我们使用`Optional.ofNullable`方法来创建一个Optional对象,如果字符串`str`为空,则返回一个空的Optional对象。然后我们使用`orElse`方法来获取Optional对象的值,如果Optional对象为空,则返回默认值`"default"`。
Optional.ofNullable.orElse
`Optional.ofNullable.orElse`方法是一个用于获取Optional对象中的值或默认值的方法。如果Optional对象中存在值,则返回该值,否则返回默认值。以下是一个例子:
假设我们有一个名为`user`的`User`对象,该对象可能为null。我们可以使用`Optional.ofNullable`方法将其包装在Optional对象中,并使用`orElse`方法获取其值或默认值。
```java
User user = null;
String name = Optional.ofNullable(user)
.map(User::getOptionName)
.orElse("defaultName");
System.out.println(name); // 输出:defaultName
```
在上面的例子中,我们首先使用`Optional.ofNullable`方法将`user`对象包装在Optional对象中。然后,我们使用`map`方法将`User`对象的`name`属性包装在另一个Optional对象中。最后,我们使用`orElse`方法获取`name`属性的值或默认值。
阅读全文