jdk_null有关判断--Optional

jdk8之前为空判断使业务代码读起来比较费劲,对整体业务逻辑的理解增加困惑;
jdk8支持了 Optional 之后 ,使用我们可以非常轻松的将原本一大块的判断代码块变成一句话;

正常的判空优化效果

Optional.ofNullable(null).orElse("default")

从对象中取值时

String userName=null;
User user=null;
if(Objects.isNull(user)){
userName="username is null";
}else{
userName=user.getName();
}

优化后

userName=Optional.ofNullable(user).map((temp)->temp.getName()).orElse("default");



userName=Optional.ofNullable(user).flatMap(user1 -> Optional.ofNullable(user1.getName())).orElse("happy");