假设我们不希望 h i r e D a y hireDay hireDay类的 n a m e name name字段被构造器初始化为 n u l l null null,宽容型方法如下:
if (n == null) {
name = "unknown";
} else {
name = n;
}
在 j a v a 9 java9 java9中, o b j e c t s objects objects类对这提供了一个便捷的方法:
public Employee(String name, String salary, LocalDate hireDay) {
this.name = Objects.requireNonNullElse(name,"Unknown");
this.salary = salary;
this.hireDay = hireDay;
}
而对于严格型方法来说,则是直接拒绝 n u l l null null:
public Employee(String name, String salary, LocalDate hireDay) {
this.name=Objects.requireNonNull(name,"The name cannot be null");
this.salary = salary;
this.hireDay = hireDay;
}