一、說明
Optional 是一個容器,它可以保存類型 T 或爲 null 的 值 的容器
Optional 提供了很多方法對值進行檢測,可以很好的解決空指針異常
二、示例
// 返回一個指定非空值的Optional,參數爲null拋出空指針
Optional<String> optional = Optional.of("JavaOptional");
// 非空則返回指定值的Optional,否則返回描述爲空的Optional
Optional<String> optional = Optional.ofNullable(null);
// 判斷是否有值,即不爲null
boolean present = optional.isPresent();
// 如果值不爲空,就執行Lambda表達式
optional.ifPresent( opt -> System.out.println(opt) );
// 如果有值,則返回值,如果等於空則拋異常
String value = optional.get();
//如果值存在則返回值,否則返回指定的默認值
String str = optional.orElse("Default String");
// 如果值存在且和給定的斷言匹配則返回該值描述的Optional,否則返回一個描述爲空的Optional
Optional<String> optional = optional.filter((opt) -> opt.length() < 20);