简体   繁体   English

如何判断 java 列表中的 element.get() 是否为 null?

[英]how to tell if the element.get() in a list in java is null or not?

I am trying to write a code to check a if condition for element.get() in arraylist if it is null or not How can I access it without throwing an error here is my code我正在尝试编写代码来检查 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());
}

I would rewrite the code like this to make it clearer and safer by adding a check on both objects.我会通过对两个对象添加检查来重写这样的代码,使其更清晰、更安全。

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());
}

Of course if employee.getFromEmployeeBean might return null as well you need a similar if again.当然,如果employee.getFromEmployeeBean也可能返回 null ,那么你还需要一个类似的if

One better way of doing this check (from Java 8 onwards) is to use Optional进行此检查的一种更好的方法(从 Java 8 开始)是使用Optional

Optional<Employee> optEmployee = Optional.ofNullable(employeeSalaryPaymentlist.get(j));
if( optEmployee.isPresent() ) 
{
    Employee fromEmployee = optEmployee.get();
    //rest of the code
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM