我有一个可选的。
Optional<AssetEvent> latestEvent = ...
我想从事件内部向列表中添加一个字段(如果存在)。
latestEvent.map(event -> event.getTimestamp()).ifPresent(latestList::add);
我的IDE(Intelij)在event.getTimestamp()
上显示“可以用方法引用替换Lambda”
重构为
latestEvent.map(this::getTimestamp).ifPresent(latestList::add);
给我一个错误,因为this
将在执行代码时引用周围的对象。如何在可选latestEvent
答案 0 :(得分:6)
使用类名。例如:
latestEvent.map(AssetEvent::getTimestamp).ifPresent(latestList::add);
假设AssetEvent
是具有getTimestamp
方法的类的名称。