Java8中的Optional类学习笔记
来源:互联网 发布:淘宝一元拍卖 编辑:程序博客网 时间:2024/05/17 02:42
Java8中加入的Optional类的主要作用是,为了让我们在编程中尽量去规避空指针异常。
我仅仅是为了让自己对学习Optional类的记忆更加深刻而写这边博客,其实它很简单,可工作中还没用到Java8,所以更要记录一下了。
1、5个初始化方法
1):Optional(),构造方法,构造一个value为null的实例
2):empty(), static方法,返回一个empty实例
3):Optional(T value),构造方法,不能传入null,否则抛出空指针异常
4):of(T value),static方法,返回一个实例,调用了Optional(T value)这个构造方法
5):ofNullable(T value),static方法,如果value为null,则返回empty,如果不为空则返回一个有值得实例
2、T get(),获得value的值
3、boolean isPresent(),判断value是否为null,该方法应少使用,因为它跟我们用if去判断是否为null是一样的,意义并不大
4、void ifPresent(Consumer<? super T> consumer),如果value不为null,则进一步处理
5、Optional<T> filter(Predicate<? super T> predicate),如果value为null,则返回当前实例,如果不为空,则运行predicate的方法进行匹配,匹配结 果为true,返回当前实例,为false,返回empty
6、Optional<U> map(Function<? super T, ? extends U> mapper),如果value为null,则返回empty,如果不为null,调用mapper的方法处理之 后返回结果,结果如果为null,则返回empty
7、Optional<U> flatMap(Function<? super T, Optional<U>> mapper),该方法跟6的不同之处在于,调用mapper 的方法之后,如果返回值为null,则抛出空指针异常
8、T orElse(T other),如果value为null,则返回other,不为null则返回value
9、T orElseGet(Supplier<? extends T> other),如果value为null,则返回other的get方法的结果,不为null,则返回value
10、<X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier) throws X,如果value不为null,则返回value,如果为null,则抛出指定的异常
- Java8中的Optional类学习笔记
- Java8中的Optional类
- Java8学习笔记 — Optional
- java8 Optional类
- Java8 Optional类
- Java8 Optional类
- JAVA8 Optional类
- JAVA学习之java8 optional
- java8 Optional类用法解析
- Java8新特性 - Optional类
- java8代码---Optional工具类
- Java8新特性 - Optional类
- Java8:Optional类的解析
- java8新特性---Optional类
- Java8-optional
- java8 Optional
- Java8 Optional
- Java8学习记录--Optional使用范例
- Swift3.0中UIAlertView&UIAlertAction逐渐被抛弃,用UIAlertController代替
- windows 下使用nginx 实现负载均衡
- 解决provisional headers are shown的过程
- 通过Camera、SurfaceView、自己实现拍照及预览效果
- BlueNRG代码浏览
- Java8中的Optional类学习笔记
- Broadcast的应用
- ctfIDF实验室捉到一只苍蝇
- html 上下左右居中
- MySql 参数动态修改
- 正则表达式总结(待续)
- Android消息机制Handler,MessageQueue,Looper源码解析
- Mysqldump详解
- 1. 为加法计算器程序添加一个模态对话框