【Java 8 新特性】 Optional

初衷

  • 避免因空指针异常引入大量的非空判断

使用场景

  • 不使用Optional
if(user != null) {
    UserInfo userInfo = user.getUserInfo();
    if(userInfo != null) {
        BodyInfo bodyInfo = userInfo.getBodyInfo();
        if(bodyInfo != null) {
            return bodyInfo.getDesc();
        }
    }
}
return null;
  • 使用Optional
return Optional.ofNullable(user).map(User::getUserInfo)
        .map(UserInfo::getBodyInfo).map(BodyInfo::getDesc).orElse(null);

猜你喜欢

转载自www.cnblogs.com/kunlingou/p/12180203.html