欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java零碎知识点

程序员文章站 2023-12-21 21:21:22
...

从lambda表达式到双冒号(::)操作
我们知道使用lambda表达式可以让代码非常简洁。举例,创建比较器,使用下面语法:

在这里插入代码片
Comparator c = (Computer c1, Computer c2) -> c1.getAge().compareTo(c2.getAge());

使用类型推断,可以简写为:

在这里插入代码片
Comparator c = (c1, c2) -> c1.getAge().compareTo(c2.getAge());

为了使上面代码更可读,我们使用下面语法:

在这里插入代码片
Comparator c = Comparator.comparing(Computer::getAge);

我们使用::操作简化lambda表达式调用特定方法,让我们的代码更有表现力。

了解原理
简单地说,当我们使用方法引用时,目标引用在::之前,方法名称在其值后,举例:

在这里插入代码片
Computer::getAge;

上面方法引用标识调用Computer类的getAge方法。也可以Function一起使用:

在这里插入代码片
Function<Computer, Integer> getAge = Computer::getAge;
Integer computerAge = getAge.apply(c1);
相关标签: 匿名函数

上一篇:

下一篇: