如何在Optional.map()中使用方法引用

DIB*_*its 2 java methods reference optional java-8

我有一个可选的.

Optional<AssetEvent> latestEvent = ...
Run Code Online (Sandbox Code Playgroud)

我想从事件内部添加一个字段到列表(如果存在).

latestEvent.map(event -> event.getTimestamp()).ifPresent(latestList::add);
Run Code Online (Sandbox Code Playgroud)

我的IDE(Intelij)向我展示了"Lambda可以替换为方法引用" event.getTimestamp()

重构为

latestEvent.map(this::getTimestamp).ifPresent(latestList::add);
Run Code Online (Sandbox Code Playgroud)

给我一个错误,因为this将在代码执行的内容中引用周围的Object.我如何在Optional中引用Object的方法latestEvent

Era*_*ran 7

使用班级名称.例如:

latestEvent.map(AssetEvent::getTimestamp).ifPresent(latestList::add);
Run Code Online (Sandbox Code Playgroud)

假设AssetEvent是具有该getTimestamp方法的类的名称.