Optional.of 和 Optional.ofNullable 的区别
时间: 2024-01-05 12:17:32 浏览: 170
Optional.of和Optional.ofNullable都是用来创建Optional对象的方法,但它们之间有一些区别。
Optional.of方法接收一个非空的值作为参数,如果传入null,则会抛出NullPointerException异常。例如:
```
String str = "hello";
Optional<String> optional = Optional.of(str); // 创建一个包含非空值的Optional对象
```
而Optional.ofNullable方法则可以接收一个任意类型的值作为参数,包括null。如果传入的值为null,则会创建一个空的Optional对象。例如:
```
String str = null;
Optional<String> optional = Optional.ofNullable(str); // 创建一个包含空值的Optional对象
```
因此,当你不确定一个值是否为空时,可以使用Optional.ofNullable方法来创建Optional对象,这样可以避免NullPointerException异常。
阅读全文