Loading... # 概念 Optional<T>类是Java8引入的新特性。Optional类主要解决的空指针异常问题(NullPointerException)。这个异常是广泛导致程序运行失败的原因。 Optional<T>是一个容器,它可以保存类型为T的值。如果值存在,则调用isPresent()返回`true`。反之返回`false`。 Optional<T>被精心设计以配合Java8的函数式编程。 ---------- # 使用 简单示例: ```java public class Test2 { public static void main(String[] args) { String[] list = {"a","b","c","d"}; Optional<String> max = Arrays.stream(list).max(String::compareTo); max.ifPresent(System.out::println); } } 输出: d ``` 常用方法: ![Optinal方法][1] * of(T) 快速初始化Optional对象 * ofNullable(T) 初始化Optional对象可能为空 * empty() 等同于ofNullable(null) * orElse(T) 如果Optional对象保存的值不是null,就返回原来的值,否则返回orElse传入的值,注意没有改变Optional对象中保存的值。 * orElseThrow() java10引入,Optional值不存在就抛出异常 * isEmpty() java11引入,与isPresent相反。 [1]: https://assets.fangshirui.cn/typecho/uploads/2020/11/4285162587.png 最后修改:2020 年 12 月 10 日 08 : 19 PM © 允许规范转载