ラムダ式とジェネリックメソッド
私が一般的なインターフェースを持っているとしましょう: interface MyComparable<T extends Comparable<T>> { public int compare(T obj1, T obj2); } そして方法sort: public static <T extends Comparable<T>> void sort(List<T> list, MyComparable<T> comp) { // sort the list } このメソッドを呼び出して、ラムダ式を引数として渡すことができます。 List<String> list = Arrays.asList("a", "b", "c"); sort(list, (a, b) -> a.compareTo(b)); それはうまくいきます。 しかし、インターフェイスをジェネリックにせず、メソッドをジェネリックにすると、次のようになります。 interface MyComparable { public <T extends …