美文网首页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 8 中引入的 Optional 类

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