美文网首页Java8 新特性
4. Java8 Optional 容器类

4. Java8 Optional 容器类

作者: Class鸣 | 来源:发表于2018-09-28 16:37 被阅读2次

Optional容器类

用于尽量避免空指针异常

1.方法

静态方法

方法名 描述
static <T> Optional<T> empty() 空的Optional实例
static <T> Optional<T> of(T value) 返回具有Optional的当前非空值的Optional,如果为空发生异常
static <T> Optional<T> ofNullable(T value) 返回一个Optional指定值的Optional,如果非空,则返回一个空的Optional,不会发生异常
  • 实例
  1. empty
        //of 获取一个非null的对象,如果为null则发生异常
        Optional<Employee> employee = Optional.of(new Employee());
        System.out.println(employee);
        //empty 获取一个空的自己
        Optional<Employee> empty = Optional.empty();
        System.out.println(empty);
        //和 of不同,ofNullable 允许获取一个null对象;
        Optional<Employee> employee1 = Optional.ofNullable(new Employee());
        Optional<Employee> employee2 = Optional.ofNullable(null);
        System.out.println(employee1);
        System.out.println(employee2);

其他常用方法

方法 描述
isPresent() 判断是否包含值
orElse(T t) 如果调用对象包含值,返回该值,否则返回t
orElseGet(Supplier s) 如果调用对象包含值,返回该值,否则返回 s 获取的值
map(Function f) 如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty()
flatMap(Function mapper) 与 map 类似,要求返回值必须是Optional

相关文章

  • Optional类

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

  • 4. Java8 Optional 容器类

    Optional容器类 用于尽量避免空指针异常 1.方法 静态方法 实例 empty 其他常用方法

  • Optional用法

    简介   java8里提供的Optional类,简单来讲是个容器类,可以放任意类型对象,以及null。  它的存在...

  • JAVA8新特性-Optional类解决NPE问题

    ** JAVA8新特性-Optional类解决NPE问题** API介绍 1、Optional(T value),...

  • 【java8新特性 简述】Optional

    Optional类是Java8为了解决null值判断问题,借鉴google guava类库的Optional类而引...

  • Optional

    Java8中Optional为util包中一个类 创建Optional对象 Optional.of() 传入对象不...

  • Optional源码分析(未完)

    Optional源码分析(未完) Optional 类是Java8的新特性,Optional是一个可以为null的...

  • Java8-Optional

    Optional java8添加的容器对象,在一些场景下避免使用null检查而设定的类,尽可能避免的NullPoi...

  • 一起来学Java8(六)——Optional

    Optional类是Java8新增的一个类,其作用可以有效避免空指针异常。 Optional类的代码比较简单,很容...

  • 学习Optional 类

    1.介绍 Optional类是Java8为了解决null值判断问题,,使用Optional类可以避免显式的null...

网友评论

    本文标题:4. Java8 Optional 容器类

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