gpt4 book ai didi

java - 避免 Java setter 的 null 检查

转载 作者:行者123 更新时间:2023-12-01 19:27:11 26 4
gpt4 key购买 nike

我有 Employee 类,我正在设置它的属性,

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 进行空检查吗?

我不能使用三元运算符,因为在这种情况下,即使 value 为 null,setter 也会被调用。如果值为 null,我想避免 setter 调用。

emp.setName(name!=null?name:null);

最佳答案

实际上,在你的代码中,检查 null 是没有必要的:在每种情况下,由于你刚刚创建了员工对象,他的所有字段都为 null,那么如果,例如,id 不为 null setId 将设置一个非空值,如果 idnullsetId 不会更改任何内容。

显然,只有当构造函数不以任何方式初始化显示的变量时,这些考虑因素才有意义。

关于java - 避免 Java setter 的 null 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61155102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com