Метод isEmpty () не определен для типа Необязательно - PullRequest
1 голос
/ 24 мая 2019

У меня есть весенний проект, где у меня есть логический метод, который использует необязательный для фильтрации через набор запросов. Я получаю сообщение об ошибке, когда я пытаюсь вернуть request.isEmpty(), я посмотрел его и, возможно, использую более старую версию Java, но есть ли альтернативный способ сказать request.isEmpty() без необходимости обновлять мою версию Java, так как я беспокоюсь, если я обновить его, это повлияет на остальную часть моего проекта

Это мой код для метода

private boolean hasNoDaysOffOnShiftDate(List<Request> requests, ShiftParams params) {

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // for string
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // for localdate

    // Shift start date in LocalDate
    String shiftDate = (params.start).format(formatter);
    LocalDate formatDateTime = LocalDate.parse(shiftDate, formatter);
    System.out.println("Shift date in date format " + formatDateTime);

    Optional<Request> request = requests.stream().filter(req -> req.getStatus() == Status.Accepted)
            .filter(req -> isDayOffOnShiftDate(req, formatDateTime)).findAny();
    return request.isEmpty();

}

Я получаю ошибку

Метод isEmpty() не определен для типа Optional<Request>

Я использую эту версию Java

java.version = 1.8.0_73

1 Ответ

3 голосов
/ 24 мая 2019

Optional#isEmpty() - это метод Java 11, который является ярлыком для Java 8 !Optional#isPresent().

return !request.isPresent();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...