java—如何在可选的.map()中使用方法引用

kb5ga3dv  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(334)

我有一个选择。

Optional<AssetEvent> latestEvent = ...

如果存在,我想将事件中的字段添加到列表中。

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

我的ide(intelij)在上显示“lambda可以用方法引用替换” event.getTimestamp() 重构到

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

给我一个错误,因为 this 将引用执行代码时所处的周围对象。如何引用可选对象中对象的方法 latestEvent

ohfgkhjo

ohfgkhjo1#

使用类名。例如:

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

假设 AssetEvent 是具有 getTimestamp 方法。

相关问题