Fakipo
Fakipo

Reputation: 190

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

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

Upvotes: 0

Views: 200

Answers (2)

Sudheendra
Sudheendra

Reputation: 29

One better way of doing this check (from Java 8 onwards) is to use Optional

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

Upvotes: 0

Joakim Danielson
Joakim Danielson

Reputation: 51892

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.

Upvotes: 2

Related Questions