美文网首页
Optional类

Optional类

作者: huxiaofeng | 来源:发表于2018-09-03 16:02 被阅读0次
    public class Person { 
     private Optional<Car> car; 
     public Optional<Car> getCar() { return car; } 
    }
    public class Car { 
     private Optional<Insurance> insurance; 
     public Optional<Insurance> getInsurance() {  return insurance; } 
    } 
    public class Insurance { 
     private String name; 
     public String getName() { return name; }
    } 
    

    人可能有车,也可能没有车,因此将这个字段声明为Optional。车可能进行了保险,也可能没有保险,所以将这个字段声明为Optional。保险公司必须有名字,如果你遇到一个公司没有名称,你需要调查你的数据出了什么问题,而不应该再添加一段代码,将这个问题隐藏。

    应用 Optional 的几种模式

    • 创建 Optional 对象
    1. 声明一个空的Optional。你可以通过静态工厂方法Optional.empty,创建一个空的Optional对象

    Optional<Car> optCar = Optional.empty();

    1. 依据一个非空值创建Optional。你还可以使用静态工厂方法Optional.of,依据一个非空值创建一个Optional对象

    Optional<Car> optCar = Optional.of(car);

    1. 可接受null的Optional。使用静态工厂方法Optional.ofNullable,你可以创建一个允许null值的Optional
      对象

    Optional<Car> optCar = Optional.ofNullable(car);

    相关文章

      网友评论

          本文标题:Optional类

          本文链接:https://www.haomeiwen.com/subject/sqtiwftx.html