新特性
- Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。
- Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。
- Optional 类的引入很好的解决空指针异常。
好处
- 可以对不确定对象(可能为null),取其中某属性的值(可能为nul)用很简洁的方式进行提取;好处也不止如此。。
使用技巧
Optional.of() //指定的属性不能为null,否则会抛出NPE; <!--0-->
//.isPresent()是否存在 Map m =new HashMap(); Optional.ofNullable(m.get(1)).isPresent() //判断该map中key值为1是否存在,m可以为null <!--1-->
UserDto userDto =new UserDto(); userDto.setUserName("http://minwk.top/"); //.map()可以映射返回对象指定属性的值 System.out.println(Optional.ofNullable(userDto).map(UserDto::getUserName).get()); //返回用户名 System.out.println(Optional.ofNullable(userDto).map(u->u.getUserName()).get()); //返回用户名 <!--2-->
目前就用到这么多,等用到新的再补充!