原始判空方式:
if(user != null){
System.out.println(user)
}
JDK8封装了Optional类解决空指针问题
创建Optional实例
User u = new User(); OptionalopUser = Optional.of(u); //of方法不能传入null,会抛出空指针异常 Optional opUser = Optional.ofNullable(u); // ofNullable允许传入null值
获取Optional对象维护的数据
get() : 直接返回维护的数据,如果为null,则会抛出异常
orElse() : 需要传入一个默认数据,如果数据为null,则返回传入的默认值.
orElseGet() : 该方法需要传入一个供给型接口,可在进行一系列操作之后返回想要的默认值.
orELseThrow():如果为null,则会抛出异常,也是需要传入一个供给型接口.
User u = new User(); OptionalopUser = Optional.ofNullable(u); // ofNullable允许传入null值 opUser.get(); //拿到数据,但是如果为null,则会抛出异常 opUser.orElse(new User()); opUser.orElseGet(()->{ User u = new User(); u.setName("张三"); return u; }); //orElseGet参数需要传一个供给型接口 opUser.orElseThrow(()->{ return new Exception("参数user不能为空!") });//如果数据为null则抛出异常,否则返回数据



