Optional类
程序员文章站
2022-03-04 12:27:51
...
-
Optional 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。
-
常用方法:
Optional.of(T t) : | 创建一个 Optional 实例 |
Optional.empty() : | 创建一个空的 Optional 实例 |
Optional.ofNullable(T t): | 若 t 不为 null,创建 Optional 实例,否则创建空实例 |
isPresent() : | 判断是否包含值 |
orElse(T t) : | 如果调用对象包含值,返回该值,否则返回t |
orElseGet(Supplier s) | :如果调用对象包含值,返回该值,否则返回 s 获取的值 |
map(Function f): | 如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty() |
flatMap(Function mapper): | 与 map 类似,要求返回值必须是Optional |
- 示例:简单的使用
public class TestOptional {
@Test
public void test1() {
Optional<String> dateStr = Optional.ofNullable(null);
String str = getStr(dateStr);
System.out.println(str);
}
public String getStr(Optional<String> str) {
if (str.isPresent()) {
return str.get();
} else {
return str.orElse("默认字符串");
}
}
}
- 合理利用Option类可以很好地避免程序中出现空指针异常.
上一篇: 2018前端必考面试题总结11
下一篇: 2018前端必考面试题总结10