避免对 setter Java 进行空检查
Avoid null checks for setters Java
我有 Employee class 我正在设置它的属性,
Employee emp = new Employee();
if (id != null)
emp.setId(id);
if (name != null)
emp.setName(name);
if (dept != null)
emp.setDepartment(dept);
if (subDept != null)
emp.setSubDepartment(subDept);
我的问题是,我们可以避免对每个 属性 setter 进行空值检查吗?
我不能使用三元运算符,因为在这种情况下,即使值为 null,也会调用 setter。如果值为空,我想避免 setter 调用。
emp.setName(name!=null?name:null);
实际上,在你的代码中,检查null是没有必要的:在任何情况下,因为你刚刚创建了employee对象,他的所有字段都是null,那么如果,例如id
不为null setId
将设置一个非空值,如果 id
是 null
那么 setId
不会改变任何东西。
显然,只有在构造函数不以任何方式初始化显示的变量时,这些考虑才有意义。
我有 Employee class 我正在设置它的属性,
Employee emp = new Employee();
if (id != null)
emp.setId(id);
if (name != null)
emp.setName(name);
if (dept != null)
emp.setDepartment(dept);
if (subDept != null)
emp.setSubDepartment(subDept);
我的问题是,我们可以避免对每个 属性 setter 进行空值检查吗?
我不能使用三元运算符,因为在这种情况下,即使值为 null,也会调用 setter。如果值为空,我想避免 setter 调用。
emp.setName(name!=null?name:null);
实际上,在你的代码中,检查null是没有必要的:在任何情况下,因为你刚刚创建了employee对象,他的所有字段都是null,那么如果,例如id
不为null setId
将设置一个非空值,如果 id
是 null
那么 setId
不会改变任何东西。
显然,只有在构造函数不以任何方式初始化显示的变量时,这些考虑才有意义。