Я знакомлюсь с новыми функциями java 8.
У меня есть следующий класс:
class InstanceMethodClass {
Integer testStr(String str1,String str2) {
return str1.compareTo(str2);
}
}
и следующий вызов:
Arrays.sort(new String[]{"1", "3","2"},InstanceMethodClass::testStr );
После этого я вижу следующую ошибку:
java: no suitable method found for sort(java.lang.String[],InstanceMe[...]stStr)
method java.util.Arrays.<T>sort(T[],java.util.Comparator<? super T>) is not applicable
(cannot infer type-variable(s) T
(argument mismatch; invalid method reference
cannot find symbol
symbol: method testStr(T,T)
location: class lambdas.staticReferences.InstanceMethodClass))
method java.util.Arrays.<T>sort(T[],int,int,java.util.Comparator<? super T>) is not applicable
(cannot infer type-variable(s) T
(actual and formal argument lists differ in length))
Объясните, пожалуйста, что я не так?