影落离风

The shadow falls away from the wind

0%

最常见的Optional操作

新特性

  1. Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。
  2. Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。
  3. Optional 类的引入很好的解决空指针异常。

好处

  • 可以对不确定对象(可能为null),取其中某属性的值(可能为nul)用很简洁的方式进行提取;好处也不止如此。。

使用技巧

  1. Optional.of() //指定的属性不能为null,否则会抛出NPE;
    <!--0-->
  2. //.isPresent()是否存在 
    Map m =new HashMap();
    Optional.ofNullable(m.get(1)).isPresent() //判断该map中key值为1是否存在,m可以为null
    <!--1-->
  3. 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-->
    

目前就用到这么多,等用到新的再补充!