Java 8でインスタンスのメソッド参照をどのように正確にチェーンしていますか?例:Civilization
インスタンスのJavaメソッドの参照はここでは想定されていません
Collections.sort(civs,Comparator.comparing(Civilization::getStrategy.getStrategLevel));
getStrategy
インスタンスメソッドgetStrategyLevel
を有するStrategy
オブジェクトのインスタンスを返します。
なぜ、Comparator.comparing
メソッドは、ラムダ式で実装された機能インタフェースを持つコンパレータを返さないのですか?その場合
だけの使用、それは次のようになり
lambda expression
とだからここ、ラムダ。 –
メソッド参照は、メソッド_を参照しています。メソッドの参照で説明するのには適切ではありません。命令コードの任意の袋を記述したい場合は、チェーンの "getStrategy()"メソッドをコールし、結果で 'getStrategyLevel()ラムダ本体は引数のリストが目的の関数インターフェースのものと正確に一致する単一のメソッドである特別な場合に提供される(うまくいってもっと読みやすい)簡略表記である。 –
参照:http:// stackoverflow。com/questions/24487805/lambda-expression-vs-method-reference/24493905#24493905 –