Optional类的基本使用(没怎么看)
原创
©著作权归作者所有:来自51CTO博客作者wx630f300fec73f的原创作品,请联系作者获取转载授权,否则将追究法律责任
参考:https://www.runoob.com/java/java8-optional-class.html
java8中引入了一个新类:Optional,用于日常编码中对空指针异常进行限制和处理:
Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。
Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。
Optional 类的引入很好的解决空指针异常。
返回值
| 方法
| 说明
|
static <T> Optional<T>
| empty()
| 返回一个空 Optional 实例 |
static <T> Optional<T>
| of(T value)
| 将非空值设置到Optional实例并返回该实例
|
static <T> Optional<T>
| ofNullable(T value)
| 将值设置到Optional实例中并返回该实例
|
T
| get()
| 如果一个值是在这 Optional ,返回值,否则将 NoSuchElementException |
T
| orElse(T other)
| 如果当前有值且非空则返回该值,否则返回 other |
类声明
以下是一个java.util.Optional<T>类的声明
public final class Optional<T> extends Object
测试:
packageimportpublic classpublic static voidnull); //NullPointerException
Optional.ofNullable(null);//可放入null值(允许为null)
System.out.println(Optional.ofNullable("1111").get());//输出1111
Optional.ofNullable(null).get();//Optional.get() NoSuchElementException,当Optional中放的是null时用get()取则报该异常
System.out.println(Optional.ofNullable(null).orElse("2222"));//输出2222
System.out.println(Optional.ofNullable("1111").orElse("2222"));//输出1111
System.out.println(Optional.ofNullable(null).isPresent());//输出false
System.out.println(Optional.ofNullable("1111").isPresent());//输出true
}
}