
上QQ阅读APP看书,第一时间看更新
3.2.4 方法引用
方法引用是简化版本的Lambda表达式,它和Lambda表达式拥有相同的特性。然而,方法引用并不需要为其提供函数体,我们可以直接通过方法名称引用已有方法。因此,方法引用进一步简化了Lambda的写法。
如表3-1所示,Java 8方法引用的使用方式为:类名::方法名。
表3-1 Java 8方法引用的类型

Kotlin同样支持方法引用。对User对象按照name进行排序,最初我们会这样写:

简化Lambda表达式:

使用方法引用的话,代码会更加精简。下面的代码还用到了Java 8新增的Comparator.comparing()方法:
Collections.sort(users, Comparator.comparing(User::getName))