mikeProgrammer:
私は効果的なJavaの読みとの違いについて疑問に思ってlambda
とanonymous class
。私は、ラムダは、単一の方法、すなわち機能インタフェースとのインタフェースで使用することができ、キーワードがようラムダであなたは自分自身への参照を取得することはできません知っているthis
匿名クラスのキーワードにする場合、ラムダが指定されているクラスに関連するthis
匿名クラスの体に関する。しかし、私は、ラムダが本当にあるのか分かりません。私は、これは我々が定型を取り除くと、我々のコードより可読性を作る得ることができます実装機能インタフェースを、これは通常の匿名クラスが、それのおかげに比べいくつかの制限を有する唯一のシンタックスシュガーであるように、匿名クラスのインスタンスを作成する式が唯一であることを推測します。一方、ここで 私たちは、実際には、ラムダが実装するインターフェイスを機能匿名クラスのインスタンスではないことを示唆している可能性がどのようなパフォーマンスの違いについて読むことができます。
バジルボーク:
いいえ、ラムダ!=匿名内部クラス
Javaでラムダは匿名内部クラスの一般的な用途の多くを交換してください。結果ははるかにコンパクトで読みやすい、と明らかコードです。
いいえ、ラムダの実装はされていない匿名内部クラスに基づきます。
より多くの議論については、この質問をスタックオーバーフローの兄弟サイトで。