Java8特性之Optional
2023-08-03 19:58:13 1 举报
AI智能生成
Java8特性之Optional
作者其他创作
大纲/内容
Optional类用法
创建Optional类对象
Optional.of(T t) :
创建一个 Optional 实例
t必须非空
Optional.empty()
创建一个空的 Optional 实例
Optional.ofNullable(T t)
t可以为null
判断Optional容器中是否包含对象
boolean isPresent()
判断是否包含对象
void ifPresent(Consumer consumer)
如果有值,就执行Consumer
获取Optional容器的对象
T get()
如果调用对象包含值,返回该值,否则抛异常
T orElse(T other)
如果有值则将其返回,否则返回指定的other对象
T orElseGet(Supplier other)
如果有值则将其返回,否则返回由Supplier接口实现提供的对象
T orElseThrow(Supplier exceptionSupplier)
如果有值则将其返回,否则抛出由Supplier接口实现提供的异常
过滤
Optional filter(Predicate predicate)
如果存在满足过滤的值,返回一个Optional的值,否则返回一个空的Optional
映射
Optional map(Function mapper)
Optional flatMap(Function mapper)
使用场景
1、ifPresent代替if语句
2、filter代替属性过滤
3、map代替链式调用
4、orElse代替默认返回值
0 条评论
下一页