Java 8 新特性 Optional

Posted 一木浅雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

以上是关于Java 8 新特性 Optional的主要内容,如果未能解决你的问题,请参考以下文章

Java 8 新特性:4-Optional类

java1.8新特性(optional 使用)

Java 8 新特性 Optional

010-jdk1.8版本新特性二-Optional类,Stream流

Java8新特性:Optional类(超详解)

JavaSE | Lambda| Optional| Stream API