方法应用的两种形式
//静态方法引用,类名::方法名
表达式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表达式中操作比较复杂的时候,例如没有已经存在的方法可以直接调用来完成该操作,不满足方法引用使用的条件&#