Я использую CompletableFuture для одного из моих сервисов, как показано ниже -
CompletableFuture<Employee>[] employeeDetails =
empIds.stream().map(empId ->
employeeService.employeeDetails(Integer.valueOf(empId))).toArray(CompletableFuture[]::new);
Внутренний API-интерфейс EmployeeService, который возвращает сведения о сотруднике.
Проблема заключается в том, что этот API возвращает ноль или любое исключение, а затемответ нулевойКогда я проверяю на нулевое значение всегда, оно ложно, даже если массив employeeDetails равен нулю, а его значения также равны нулю, и я получаю нулевой указатель.
Я проверяю нулевое значение как -
if(employeeDetails != null && employeeDetails.length > 0){
//This condition always true even if null values or null array.
CompletableFuture<Void> allEmployeeDetails = CompletableFuture.allOf(employeeDetails); // Here I am getting NullPointerException
}
Я делаю любыездесь ошибка или массив CompletableFuture нужно обработать любой специальной проверкой.