//3.静态方法引用 Collections.sort(userList,User::compareByAge); System.out.println(userList);
可以看到Collections.sort()第二个参数接收的是一个Comparator类型的对象。
这里为什么可以传入 User::compareByAge ?
User又没有实现Comparator接口,程序如何能确定我们再User里定义的compareByAge是Comparator接口的排序方法实现 ?
传入参数会自动进行类型检查,对传入输入进行对应方法调用,如果调用了对应的方法但是参数、返回值等出现不一致情况会检查出错吖;你想想如果我们自己设计类似的流程,是不是也会这样去考虑呢