Optional容器类
用于尽量避免空指针异常
1.方法
静态方法
|方法名|描述|
|-|-|
|static
- 实例
- empty
//of 获取一个非null的对象,如果为null则发生异常 Optional<Employee> employee = Optional.of(new Employee()); System.out.println(employee); //empty 获取一个空的自己 Optional<Employee> empty = Optional.empty(); System.out.println(empty); //和 of不同,ofNullable 允许获取一个null对象; Optional<Employee> employee1 = Optional.ofNullable(new Employee()); Optional<Employee> employee2 = Optional.ofNullable(null); System.out.println(employee1); System.out.println(employee2);
- empty
###其他常用方法
方法 | 描述 |
---|---|
isPresent() | 判断是否包含值 |
orElse(T t) | 如果调用对象包含值,返回该值,否则返回t |
orElseGet(Supplier s) | 如果调用对象包含值,返回该值,否则返回 s 获取的值 |
map(Function f) | 如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty() |
flatMap(Function mapper) | 与 map 类似,要求返回值必须是Optional |