String[] foo = {"one","two", "three"};
Arrays.sort(foo, (a,b) -> a.compareTo(b));
并且
String[] foo = {"one","two", "three"};
Arrays.sort(foo, String::compareTo);
是等价的。
当compareTo
是实例方法时,为什么我可以通过String
引用compareTo
?
答案 0 :(得分:4)
想想这个例子
Function<String, String> func;
func = string -> string.toUpperCase();
func = String::toUpperCase;
将实例方法视为带有额外this
参数的静态方法,以便推导出方法参考。
static String toUpperCase(String this)