java - 避免对 setter Java 进行空检查
问题描述
我有 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);
我的问题是,我们可以避免对每个属性设置器进行空检查吗?
我不能使用三元运算符,因为在这种情况下,即使 value 为 null,也会调用 setter。如果值为空,我想避免 setter 调用。
emp.setName(name!=null?name:null);
解决方案
实际上,在您的代码中,检查 null 是不必要的:在每种情况下,由于您刚刚创建了员工对象,因此他的所有字段都是 null,那么如果,例如,id
不为 null,setId
则将设置一个非 null 值,如果id
是,null
则setId
不会改变任何东西。
显然,这些考虑只有在构造函数没有以任何方式初始化显示的变量时才有意义。
推荐阅读
- python - 从 YouTube 频道的频道的所有视频中提取数据
- xpages - Xpages onClick 执行顺序
- google-bigquery - Bigquery 计划查询创建导致错误
- mysql - GROUP BY 与 OVER
- c# - EF Core:在 PostgreSQL 中处理 nullable
- ruby-on-rails - 如何在 Rails 中正确实现达到配额的功能
- python - PyWavelet 中 MATLAB 的 cwtft2 的模拟?
- angular - 将 id 添加到 Angular 组件的 url,以便用户可以在浏览器中使用“返回”
- moodle - core_user_create_user 和 moodle 网络服务设置不工作
- python - how to configure logging system in one file on python