ラムダ
a)Lambdaこれは無名関数であり、合格コード(簡潔)であり、Lambda式を使用して匿名内部クラスを解決できます
b)「型推論」の例は次のとおりです。
Comparator<Integer> com = (x,y) -> Integer.compare(x,y);
List<Integer> list = new ArrayList<Integer>();
List<Integer> list = new ArrayList<>();
c)機能インターフェース(@FunctionalInterface):インターフェイスに抽象メソッドが1つしかないインターフェイス
d)Java 8に組み込まれた4つのコア機能インターフェイス:
1)Consumer <T>:コンシューマーインターフェイスvoid accept(T t);
2)Supplier <T>:供給インターフェースT get();
3)Function <T、R>:機能インターフェイスR apply(T t);
4)述語<T>:アサーションタイプインターフェイスブールテスト(T t);
e)方法3の参照構文
1)オブジェクト::インスタンスメソッド名
2)クラス::静的メソッド名
3)クラス::インスタンスメソッド名
注:
1)ラムダ本体の呼び出しメソッドのパラメーターリストと戻り値タイプは、関数インターフェイスの抽象メソッドの関数リストと戻り値タイプと一致している必要があります!
2)ラムダパラメータリストの最初のパラメータがインスタンスメソッドの呼び出し元であり、2番目のパラメータがインスタンスメソッドのパラメータである場合、ClassName :: methodを使用できます
f)コンストラクターリファレンス
形式:ClassName :: new
注:このパラメーターリストコンストラクターは、抽象インターフェイスの関数メソッドと整合性を保つためにパラメーターのリストを呼び出す必要があります。
g)配列参照
フォーマット:Type [] :: new