optional.ofnullable().map().orElse
时间: 2023-07-22 12:32:03 浏览: 157
`Optional.ofNullable().map().orElse()` 是一种常见的 Optional 使用方式,它的作用是当 Optional 对象中的值不为 null 时执行一些操作,并在 Optional 对象为空时返回一个默认值。
具体来说,这个表达式首先调用 `Optional.ofNullable()` 方法创建一个可能为空的 Optional 对象,然后调用 `map()` 方法对 Optional 中的值进行转换,最后调用 `orElse()` 方法,如果 Optional 对象为空,则返回指定的默认值。
例如,假设有一个 `Person` 类,其中包含一个 `name` 属性:
```
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
```
现在,我们想要获取一个名为 "Alice" 的 Person 对象的名字,如果该对象为 null,则返回默认值 "Unknown",可以使用如下代码:
```
Person person = null;
String name = Optional.ofNullable(person)
.map(Person::getName)
.orElse("Unknown");
```
在上面的代码中,我们首先使用 `Optional.ofNullable()` 方法创建一个可能为空的 Optional 对象,然后使用 `map()` 方法将 Optional 中的 Person 对象转换为其名字属性,并最终使用 `orElse()` 方法在 Optional 对象为空时返回默认值 "Unknown"。
阅读全文