美文网首页Android技术知识
温故 Java 8 中引入的 Optional 类

温故 Java 8 中引入的 Optional 类

作者: craneyuan | 来源:发表于2018-12-04 00:28 被阅读14次

前言

为什么要有Optional类?(它试图去解决什么问题呢?)

答:Optional类试图去解决Java系统中大量出现的NullPointerException问题和繁琐的null检查。

使用

Optional常用方法:

  • 创建 Optional 对象,使用of(T) 或者 ofNullable(T),它们的不同点在于对于传入的参数为null时,是如何处理的。
    • of(T) 如果传入的参数为null,会报NullPointerException
    • ofNullable(T) 如果传入的参数为null,它会返回一个empty的Optional对象。
  • ifPresent() 判断是否有值(不推荐直接使用这个方法,看看是否可以使用orElse(T)方法)
  • get() 获取值;这个方法迷惑性比较大,如果直接调用,在没有值的情况下,会报NoSuchElementException异常。
  • 设置默认值,orElse(T) 或者 orElseGet(T)orElseGet(T)orElse(T)的延迟调用版。
  • orElseThrow(T) 没有值的情况抛异常

filter()、map()、flatMap()等方法就不记了,用法同 Java 8 的 Stream中的相关方法。

后记

未完待续。

参考资料

相关文章

  • Java 9 改进的 Optional 类

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

  • Java9 改进的 Optional 类

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

  • 温故 Java 8 中引入的 Optional 类

    前言 为什么要有Optional类?(它试图去解决什么问题呢?) 答:Optional类试图去解决Java系统中大...

  • Optional用法

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

  • Optional类

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

  • Java 8 Optional入门实战

    1. 简介 本文简要介绍一下Java 8 引入的 Optional 类。引入Optional 类的主要目的是为使用...

  • Optional 使用方式

    从java 8开始引入了Optional类,Optional 的出现是为了解决 NPE(NullPointerEx...

  • Java 中 Optional 类的理解和使用

    从 Java 8 引入的一个很有趣的特性是 *Optional *类。Optional 类主要解决的问题是臭名昭...

  • 使用Java 8 Optional类

    从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是空指针异常...

  • Java 8 Optional类深度解析

    Java 8引入了一个新的Optional类。Optional类的Javadoc描述如下: 这是一个可以为null...

网友评论

    本文标题:温故 Java 8 中引入的 Optional 类

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