Java8中的Optional类学习笔记

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 consumer),如果value不为null,则进一步处理

5、Optional filter(Predicate predicate),如果value为null,则返回当前实例,如果不为空,则运行predicate的方法进行匹配,匹配结    果为true,返回当前实例,为false,返回empty

6、Optional map(Function mapper),如果value为null,则返回empty,如果不为null,调用mapper的方法处理之  后返回结果,结果如果为null,则返回empty

7、Optional flatMap(Function> mapper),该方法跟6的不同之处在于,调用mapper 的方法之后,如果返回值为null,则抛出空指针异常

8、T orElse(T other),如果value为null,则返回other,不为null则返回value

9、T orElseGet(Supplier other),如果value为null,则返回other的get方法的结果,不为null,则返回value

10、 T orElseThrow(Supplier exceptionSupplier) throws X,如果value不为null,则返回value,如果为null,则抛出指定的异常


你可能感兴趣的:(java)