本文介绍: 所谓的方法引用,就是把方法搬过来使用。,说明Lambda逻辑已经变了,此时原先的方法引用就不匹配了,不能再用了。你最多只能调用Teacher::getAge(),但是这个方法引用逻辑是“获取老师年龄”,而不是“首先,filter()的参数要么是Lambda表达式要么方法引用,不能是方法引用+语句,不伦不类。兄弟,如果已经存在某个方法能完成你的需求,那么你连Lambda表达式都别写了,直接引用这个方法吧。,然后把那个方法引用过来,而不是想着改变原来的MyInteger::Compare

作者简介大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO

联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬

先来看一个案例

结果

排序前:

[MethodReferenceTest.Person(age=19), MethodReferenceTest.Person(age=18), MethodReferenceTest.Person(age=20)]

排序后:

  • 对初学者而言,Lambda表达式语义更清晰、更好理解
  • Lambda表达式细粒度更小,能完成更精细的需求

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO

进群,大家一起学习,一起进步,一起对抗互联网寒冬

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注