Stream API的应用场景

方法应用的两种形式

//静态方法引用,类名::方法名 
表达式1:System.out::println
表达式2:d -> System.out.println(d);
//实例方法引用,实例对象::方法名, 
表达式3:String::toUpperCase
表达式4:s -> s.toUpperCase();

方法引用的优势与弊端

优势:方法引用可以直接引用已有Java类或者对象(实例)的方法,与Lambda表达式相结合可以使语言的构造更紧凑简洁减少冗余代码

//未使用方法引用
list.stream()
	.map(skmrContentInfoDocument -> skmrContentInfoDocument.getContentId())
	.collect(Collectors.toList());
//使用方法引用后,代码简洁
list.stream()
	.map(SkmrContentInfoDocument::getContentId)
	.collect(Collectors.toList());

弊端适用范围有限隐式传递参数。当lambda表达式中操作比较复杂的时候,例如没有已经存在的方法可以直接调用来完成该操作,不满足方法引用使用的条件&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值