optional.ofnullable
时间: 2023-06-05 21:48:06 浏览: 58
`Optional.ofNullable` 方法是 Java 8 中的一个新方法,它是 `Optional` 类的静态方法。它接受一个参数,如果这个参数是非空的,则返回一个由该参数创建的 `Optional` 对象;如果这个参数是 null,则返回一个空的 `Optional` 对象。这个方法主要用于避免空指针异常,它可以帮助程序员更好地处理可能为空的值。
相关问题
Optional.ofNullable
`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.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方法则要求参数值非空,否则会抛出异常。
阅读全文