Как использовать ссылку на метод внутри Optional.map () - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть опция.

Optional<AssetEvent> latestEvent = ...

Я хочу добавить поле из события в список, если он присутствует.

latestEvent.map(event -> event.getTimestamp()).ifPresent(latestList::add);

Моя IDE (Intelij) показывает мне«Лямбда может быть заменена ссылкой на метод» в event.getTimestamp()

, рефакторинг в

latestEvent.map(this::getTimestamp).ifPresent(latestList::add);

дает мне ошибку, потому что this будет ссылаться на окружающий объект в том, что код выполняется,Как я могу ссылаться на метод Объекта внутри Необязательного latestEvent

1 Ответ

0 голосов
/ 06 декабря 2018

Используйте имя класса.Например:

latestEvent.map(AssetEvent::getTimestamp).ifPresent(latestList::add);

Предполагается, что AssetEvent является именем класса, имеющего метод getTimestamp.

...