Optional可以被赋值为null吗
时间: 2024-02-17 10:04:59 浏览: 24
是的,`Optional` 可以被赋值为 `null`。
在 Java 中,任何引用类型的变量都可以被赋值为 `null`。`Optional` 类型的变量也不例外,可以被赋值为 `null`。当 `Optional` 变量的值为 `null` 时,表示该 `Optional` 包装的值不存在。
需要注意的是,`Optional` 对象本身不会为 `null`,即使 `Optional` 包装的值为 `null`,它也不会为 `null`。当 `Optional` 包装的值为 `null` 时,可以使用 `isPresent()` 方法来判断该 `Optional` 是否有包装值,或者使用 `orElse()` 方法来获取默认值。
示例代码:
```
String str = null;
Optional<String> optional1 = Optional.ofNullable(str); // optional1 包装的值为 null
Optional<String> optional2 = null; // optional2 本身为 null
if (optional1.isPresent()) {
// optional1 包装的值不为 null,执行一些操作
}
String result = optional1.orElse("default"); // optional1 包装的值为 null,返回默认值 "default"
```
在上面的示例代码中,`optional1` 包装的值为 `null`,而 `optional2` 本身为 `null`。可以使用 `isPresent()` 方法来判断 `optional1` 是否有包装值,或者使用 `orElse()` 方法来获取默认值。