Lambda表达式和Java中的方法引用之间的区别?
Lambda表达式是一种匿名方法(无名称的方法),用于提供由 功能接口定义的方法的内联 实现 ,而 方法引用类似于引用 Lambda表达式的方法,该Lambda表达式引用了未执行的方法。箭头(->)运算符可用于在lambda表达式中连接参数和功能,而(::)运算符可将方法名称与方法引用中对象或类的名称分隔开。
Lambda表达式的语法
([comma seperated argument-list]) -> {body}方法引用的语法
<classname> :: <methodname>
示例
import java.util.*;
public class LambdaMethodReferenceTest {
public static void main(String args[]) {
List<String> myList = Arrays.asList("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND", "SCOTLAND");
System.out.println("------- Lambda Expression --------");
//使用Lambda函数调用system.out.println()
myList.stream().map(s -> s.toUpperCase())
.forEach(s -> System.out.println(s));
System.out.println("------- Method Reference ---------");
//使用方法引用来调用system.out.println()
myList.stream().map(String :: toUpperCase).sorted()
.forEach(System.out :: println);
}
}输出结果
------- Lambda Expression -------- INDIA AUSTRALIA ENGLAND NEWZEALAND SCOTLAND ------- Method Reference -------- AUSTRALIA ENGLAND INDIA NEWZEALAND SCOTLAND
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短