Вызовите «Необязательно # isPresent ()», прежде чем получить доступ к проблеме значения с Pageable - PullRequest
0 голосов
/ 14 мая 2019

Я использую Spring Data Mongo Pageable и сонар , сообщая мне ошибку ниже:

Optional<Order> optional = pageable.getSort().stream().findFirst();
if(optional.isPresent()) {
    direction = pageable.getSort().stream().findFirst().get().getDirection();
    property = pageable.getSort().stream().findFirst().get().getProperty();
}

SortOperation sortOperation = Aggregation.sort(direction, property); 

Ошибка:

Вызовите «Необязательно # isPresent ()», прежде чем получить доступ к значению.

Я пробовал несколько вариантов, но ничего не получалось. Любая быстрая помощь?

1 Ответ

1 голос
/ 14 мая 2019

Когда вы снова набираете pageable.getSort().stream() внутри своего оператора if, вы создаете новый Optional, для которого вам нужно позвонить .isPresent().

Вам следует повторно использовать Optional, который у вас уже естьвместо того, чтобы создавать поток снова и снова, например:

Optional<Order> optional = pageable.getSort().stream().findFirst();
if(optional.isPresent()) {
    direction = optional.get().getDirection();
    property = optional.get().getProperty();
}
...