Java中的Optional容器类[81]
前言
Optional容器类(jdk1.8新出的):
这是一个可以为null的容器对象;
一、代码演示
private static void optional(){
Integer i = null;
//1.为非null的值创建一个Optional;
Optional<Integer> optional1=Optional.of(1);
//2.为指定的值创建一个Optional,如果值为null,则返回一个空的Optional;
Optional<Integer> optional2=Optional.ofNullable(i);
//3.如果值存在则返回true,否则返回false
boolean b=optional1.isPresent();
//4.如果Optional有值则返回值,否则抛出异常;
optional1.get();
//5.如果Optional实例有值则为其调用consumer,否则不做处理;
optional1.ifPresent((v)->System.out.println(v));
//6.如果有值则将其返回,否则返回指定值;
Integer i2=optional1.orElse(0);
//7.orElse与orElseGet区别在于得到的默认值,前者使用默认值,后者创建一个默认值;
optional1.orElseGet(()->0);
//8.map:如果有值,则对其调用mapping函数得到返回值,如果返回值不为null,则创建包含mapping返回值的Optional作为map方法的返回值,否则返回空的Optional;
Optional<Integer> oo=optional1.map((v)->v+1);
//9.filter:如果有值并满足断言条件,则返回值的optional,否则返回空的Optional;
optional1.filter((v)->v>0);
}
二.小结
本章对java中的Optional容器类进行了概述和演示,用的不多,但是有些业务使用起来也是很方便的,知道即可;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!