Optional.ofNullable()
时间: 2024-07-27 20:01:09 浏览: 41
`Optional.ofNullable()`是Java 8引入的一个容器类`Optional`中的静态工厂方法,它用于创建一个非空的`Optional`对象。如果你有一个可能为null的值,使用`ofNullable(value)`可以将这个值封装到`Optional`里,避免NullPointerException。
当你有不确定的对象,但又希望处理其存在与否的情况时,`Optional`非常有用。它的设计原则是"没有值就是有值的一种特殊形式",即默认为`empty()`状态。所以`ofNullable()`会返回一个包含给定值的`Optional`,如果值不为null,则直接提供;如果值为null,则返回一个空的`Optional`。
示例:
```java
String nullableValue = null;
Optional<String> optionalValue = Optional.ofNullable(nullableValue); // 返回空Optional
String nonNullValue = "hello";
optionalValue = Optional.ofNullable(nonNullValue); // 返回Optional包含"hello"
```
相关问题
Optional.ofNullable
Optional.ofNullable方法是jdk1.8中引入的一个方法,用于创建一个Optional对象。它的源码如下:
private static final Optional<?> EMPTY = new Optional<>();
private Optional() {
this.value = null;
}
public static <T> Optional<T> ofNullable(T value) {
return value == null ? empty() : of(value);
}
public static <T> Optional<T> empty() {
@SuppressWarnings("unchecked")
Optional<T> t = (Optional<T>) EMPTY;
return t;
}
public static <T> Optional<T> of(T value) {
return new Optional<>(value);
}
这个方法接受一个参数value,如果value为null,则返回一个空的Optional对象;如果value不为null,则返回一个包含value的Optional对象。通过使用Optional.ofNullable方法,我们可以更方便地处理可能为空的对象,避免了空指针异常的发生。
#### 引用[.reference_title]
- *1* *2* *3* [优雅判空--Optional.ofNullable()方法](https://blog.csdn.net/qq_41834553/article/details/122344988)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
optional.ofnullable
`Optional.ofNullable` 是 Java 8 中的一个 API,用于创建一个可能为空的 Optional 对象。它接受一个对象作为参数,如果该对象不为 null,则返回一个包含该对象的 Optional 对象,否则返回一个空的 Optional 对象。使用 Optional.ofNullable 可以避免空指针异常。例如:
```
String str = null;
Optional<String> optionalStr = Optional.ofNullable(str);
```
在上面的例子中,因为 str 为 null,所以 optionalStr 会被赋值为一个空的 Optional 对象。