【发布时间】:2017-08-20 06:32:56
【问题描述】:
我知道在java Collections类中,有一个静态方法sort:
sort(List<T> list, Comparator<? super T> c**)
sort 中的第二个参数应该是一个实现了 Comparator 接口的对象,它是 compare 方法。
但是当我学习lambda的方法参考时,我看到了这个例子:
public class Test
{
public static void main(String[] args)
{
new Test().sortWord();
}
public void sortWord()
{
List<String> lst = new ArrayList<>();
lst.add("hello");
lst.add("world");
lst.add("apple");
lst.add("zipcode");
Collections.sort(lst, this::compareWord);
System.out.println(lst);
}
public int compareWord(String a, String b)
{
return a.compareTo(b);
}
}
这是实例方法的方法引用示例。 compareWord 方法与 Comparator 接口无关,我不明白为什么会这样?谁能解释一下?
非常感谢。
【问题讨论】:
标签: java lambda collections