java8 之Optional类

作者: louieSun | 来源:发表于2019-01-03 10:15 被阅读114次

A container object which may or may not contain a non-null value. If a value is present, isPresent() will return true and get() will return the value.
java文档中对java.util.Optional<T>这个类的说明,简要的说明Optional是一个容器类(容器中的对象类型使用泛型),容器中的对象可能为空。

java.util.Optional<T>类是一个工具类,帮助我们来处理空对象,避免NullPointException,个人认为有借鉴google的Guava。

好了,交代完毕,进入实战。

// 获取一个 String的 Optional容器
Optional<String> optional = Optional.ofNullable(user.getName());

// 判断Optional中的对象是否存在
if (optional.isPresent()) {
    
    // 获取容器中的对象实例。若Optional内的对象为空,则抛出 NoSuchElementException
    String name = optional.get();
}

// 对象不为空则返回对象实例,否则返回指定值
String name = optional.orElse("jack");

// Optional中的对象不为空则可直接消费
optional.ifPresent(System.out::println);

以上,是java.util.Optional<T>工具常用的方法,java还提供了其他的方法,小哥哥小姐姐自行查阅帮助手册吧。

注:Optional.of()、Optional.ofNullable()得到的容器实例中的对象类型是可推断的,知识点“类型推断”不了解的小伙伴可以百度或者google。

相关文章

  • Java-8-Optional类

    Java-8-Optional类 java8新特性之Optional类 空指针异常是一个运行时异常,对于这一类异常...

  • 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类为Java8新引入的一个类,Optional是一个可以为null的容器对象,Optional中的...

  • Optional源码分析(未完)

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

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

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

  • 学习Optional 类

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

  • Java8的Optional类

    今天讲解一下java8的Optional类:以前只知道Optional类是用来解决空指针异常的,并且只知道isPr...

  • java8 之Optional类

    A container object which may or may not contain a non-nul...

网友评论

    本文标题:java8 之Optional类

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