Optional java8 引入新特性

1. null 有什麼問題?

  • 容易報錯
  • 增加代碼量
  • 無意義
  • 埋的一個坑

2. 從null到Optional

Optional<House> optHouse = Optional.empty();

Optional<House> optHouse = Optional.of(house);//house爲null時,會拋出異常

Optional<House> optHouse = Optional.ofNullable(house);//house可以爲空

3. 去除null check

//有if的check
String name = null;
if(insurance != null){
    name = insurance.getName();
}


//沒有if的check
Optional<Insurance> optInsurance = Optional.ofNullable(insurance);
Optional<String> name = optInsurance.map(Insurance::getName);

map方法的圖示:

4. 各種從Optional讀取方式

flatMap方法圖示

鏈式訪問:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章