Optional java8 引入新特性

    技术2022-07-11  104

    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方法图示

    链式访问:

     

    Processed: 0.009, SQL: 9