首页 > 解决方案 > 如何判断 java 列表中的 element.get() 是否为空?

问题描述

我正在尝试编写代码来检查 arraylist 中 element.get() 的 if 条件是否为 null 我如何访问它而不抛出错误这是我的代码

if(EmployeeSalaryPaymentlist.get(j)!=null) {
    EmployeeSalaryPaymentlist.get(j).getFromEmployeeBean().setFirst(fromEmployeeSalaryPaymentList.get(j).getFromEmployeeBean().getFirst());
    EmployeeSalaryPaymentlist.get(j).getFromEmployeeBean().setLast(fromEmployeeSalaryPaymentList.get(j).getFromEmployeeBean().getLast());
    EmployeeSalaryPaymentlist.get(j).getFromEmployeeBean().setEmployeeId(fromEmployeeSalaryPaymentList.get(j).getFromEmployeeBean().getEmployeeId());
}

标签: javaspringlistarraylistcollections

解决方案


我会通过对两个对象添加检查来重写这样的代码,使其更清晰、更安全。

final Employee employee = EmployeeSalaryPaymentlist.get(j);
final Employee employeeFrom = fromEmployeeSalaryPaymentlist.get(j);
if(employee != null && employeeFrom != null) {
    final EmployeeBean to = employee.getFromEmployeeBean();
    final EmployeeBean from = employeeFrom.getFromEmployeeBean()
    to.setFirst(from.getFirst());
    to.setLast(from.getLast());
    to.setEmployeeId(from.getEmployeeId());
}

当然,如果employee.getFromEmployeeBean也可能返回 null,则您需要再次进行类似操作if


推荐阅读