引出:
在使用Lanbda表达式的时候,我们实际上传递进去 的代码就是一种解决方案:拿什么参数做什么操作.那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再重复逻辑?
冗余的Lambda场景
来看一个简单的函数式接口以应用Lambda表达式,在accept方法中接收字符串,目的就是为了打印显示字符串,那么通过Lambda来使用它的代码很简单:
public class DemoPrintSimple { private static void printString(Consumer<String> data, String str) { data.accept(str); } public static void main(String[] args) { printString(s ‐> System.out.println(s), "Hello World"); } }
由于lambda表达式中,调用了 已经实现的println方法,可以使用方法引用替代lambda表达式.
方法引用简化
只要"引用"过去就好了: