Java8新特性之Optionals

Optionals不是函數式接口,而是用於防止 NullPointerException 的漂亮工具。

Optional 是一個簡單的容器,其值可能是null或者不是null。在Java 8之前一般某個函數應該返回非空對象但是有時卻什麼也沒有返回,而在Java 8中,你應該返回 Optional 而不是 null。

//of():爲非null的值創建一個Optional
Optional<String> optional = Optional.of("bam");
// isPresent(): 如果值存在返回true,否則返回false
optional.isPresent();           // true
//get():如果Optional有值則將其返回,否則拋出NoSuchElementException
optional.get();                 // "bam"
//orElse():如果有值則將其返回,否則返回指定的其它值
optional.orElse("fallback");    // "bam"
//ifPresent():如果Optional實例有值則爲其調用consumer,否則不做處理
optional.ifPresent((s) -> System.out.println(s.charAt(0)));     // "b"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章