双ビット:
私はオプションを持っています。
Optional<AssetEvent> latestEvent = ...
私が存在する場合、イベント内からリストにフィールドを追加したいです。
latestEvent.map(event -> event.getTimestamp()).ifPresent(latestList::add);
私のIDE(Intelij)のショー、私は上の「ラムダは、メソッドの参照に置き換えることができます」 event.getTimestamp()
にリファクタリング
latestEvent.map(this::getTimestamp).ifPresent(latestList::add);
ので、私にエラーを与えるthis
のコードが実行されるもので、周囲のオブジェクトを参照します。どのように私はオプションの内部オブジェクトのメソッドを参照することができますlatestEvent
彼らは次のとおりでした:
クラス名を使用してください。例えば:
latestEvent.map(AssetEvent::getTimestamp).ifPresent(latestList::add);
仮定がAssetEvent
持つクラスの名前であるgetTimestamp
方法を。