问答详情
源自:4-1 方法引用

参数传递的一个问题

Collections.sort(personList, Person::compareByAge)第二个参数需要一个Comparator接口,为什么可以传Person::compareByAge这样一个方法进去呢?

提问者:BaYongaWamba 2019-12-06 16:52

个回答

  • null1184
    2019-12-08 18:22:43

    这个是lambda表达式静态方法引用。Comparator接口里的抽象方法需要一个将两个参数相减得到的int返回值,而在Person类里已经将这个两个参数相减封装在一个静态方法里,所以只需要传入Person::compareByAge就代表已经得到相减的结果