Optional.ofNullable
时间: 2023-10-12 09:09:06 浏览: 68
`Optional.ofNullable` 是 Java 8 引入的一个类,用于将一个可能为空的对象包装成一个 `Optional` 对象。如果该对象不为 `null`,则返回包含该值的 `Optional` 对象,否则返回一个空 `Optional` 对象。
例如,如果有一个可能为 `null` 的字符串变量 `str`,可以使用 `Optional.ofNullable(str)` 将其包装成一个 `Optional` 对象,以便后续操作。如果 `str` 不为 `null`,则可以使用 `Optional` 对象的方法获取其值;如果 `str` 为 `null`,则可以使用 `Optional` 对象的方法进行空值处理,避免出现空指针异常。
示例代码:
```
String str = null;
Optional<String> optionalStr = Optional.ofNullable(str);
if (optionalStr.isPresent()) {
System.out.println("str 的值为:" + optionalStr.get());
} else {
System.out.println("str 为空");
}
```
相关问题
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 对象。
Optional.ofNullable Optional.of
Optional.ofNullable和Optional.of方法都是Java 8中Optional类的静态方法,用于创建Optional对象。
Optional.ofNullable方法接受一个参数并返回一个Optional对象。如果参数值为null,则返回一个空的Optional对象;否则,返回一个包含参数值的Optional对象。
示例代码:
```java
String name = "John";
Optional<String> optional1 = Optional.ofNullable(name);
System.out.println(optional1); // 输出: Optional[John]
String nullName = null;
Optional<String> optional2 = Optional.ofNullable(nullName);
System.out.println(optional2); // 输出: Optional.empty
```
Optional.of方法接受一个非空的参数并返回一个包含该参数的Optional对象。如果参数值为null,则会抛出NullPointerException异常。
示例代码:
```java
String name = "John";
Optional<String> optional1 = Optional.of(name);
System.out.println(optional1); // 输出: Optional[John]
String nullName = null;
Optional<String> optional2 = Optional.of(nullName); // 抛出NullPointerException异常
```
总结来说,使用Optional.ofNullable方法可以避免对null值进行额外的空指针检查,而不会抛出异常;而使用Optional.of方法则要求参数值非空,否则会抛出异常。
阅读全文