美文网首页
Optional类

Optional类

作者: GIT提交不上 | 来源:发表于2020-04-02 10:59 被阅读0次

一、Optional类创建

Optional.empty()
Optional.of(T)
Optional.ofNullable(T)

二、常用方法

//get()-返回包装对象值,为空抛异常[不建议使用]
//java.util.NoSuchElementException: No value present
Student student = new Student();
Optional<Student> optionalStudent =  Optional.ofNullable(student);
optionalStudent.get();
//isPresent()-判断对象是否为空[不建议使用]
optionalStudent.isPresent();
//ifPresent()-对象不为空时进行操作
optionalStudent.ifPresent(System.out::println);
//filter()-过滤
optionalStudent.filter(e->e.getAge()>10);
//map()-返回U类型
optionalStudent.map(e->e.getAge());
//flatMap-返回值类型为Optional<U>类型
optionalStudent.flatMap(e->Optional.ofNullable(e.getAge()));
//orElse()-如果包装对象值非空,返回包装对象值,否则返回入参other的值(默认值)
optionalStudent.map(e -> e.getAge()).orElse(250);
//orElseGet()-用Supplier对象的get()方法的返回值作为默认值
optionalStudent.map(e -> e.getAge()).orElseGet(() -> 251)
//orElseThrow()-用于包装对象值为空时需要抛出特定异常的场景
optionalStudent.map(e->e.getAge()).orElseThrow(()->new RuntimeException());

相关文章

  • Java 9 改进的 Optional 类

    Optional 类在 Java 8 中引入,Optional 类的引入很好的解决空指针异常。 Optional ...

  • Optional用法

    Optional用法 从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要...

  • Optional类

    Optional类为Java8新引入的一个类,Optional是一个可以为null的容器对象,Optional中的...

  • Optional类

    人可能有车,也可能没有车,因此将这个字段声明为Optional。车可能进行了保险,也可能没有保险,所以将这个字段声...

  • Optional 类

    Optional 类 声明:java8新特性系列为个人学习笔记,参考地址点击这里,侵删!! 到目前为止,臭名昭著的...

  • optional类

    简介 首先我们需要明确的是它并 不是对 null 关键字的替代策略,而是对于 null 判定提供了一种更加优雅的实...

  • Optional类

    一、Optional类创建 二、常用方法

  • Optional类

  • Optional 类

  • Java9 改进的 Optional 类

    Java 9 改进的 Optional 类 Java 9 新特性 Optional 类在 Java 8 中引入,O...

网友评论

      本文标题:Optional类

      本文链接:https://www.haomeiwen.com/subject/pkwtphtx.html