Groovy: 安全导航操作符
Haskell:Maybe类型
Scala:Optional[T]
Java:Optional<T>
=====================================
null和Optional.empty()的区别。
创建Optional对象的方式:
1.声明一个空的Optional
Optional<Car> optCar = Optional.empty();
2.依据一个非空值创建Optional
Optional<Car> optCar = Optional.of(car);
如果car是一个null,这段代码会立即抛出一个NullPointerException异常,而不是等到你试图访问car的属性时才返回一个错误。
3.可接受null的Optional
Optional<Car> optCar = Optional.ofNullable(car);
如果car是null,那么得到的Optional对象就是个空对象。