首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >避免对setters Java进行null检查

避免对setters Java进行null检查
EN

Stack Overflow用户
提问于 2020-04-11 18:11:45
回答 1查看 247关注 0票数 0

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

代码语言:javascript
运行
复制
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);

我的问题是,我们可以避免对每个属性设置器进行null检查吗?

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

代码语言:javascript
运行
复制
emp.setName(name!=null?name:null);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-11 18:22:43

实际上,在您的代码中,检查null是不必要的:在任何情况下,因为您刚刚创建了employee对象,所以他的所有字段都是null,例如,如果id不为null,则setId将设置一个非NULL值,如果idnull,则setId将不会更改任何内容。

显然,只有当构造函数不以任何方式初始化所显示的变量时,这些注意事项才有意义。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61155102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档