lamda表达式是什么
lamda是什么
lamda就是 类的定义 + new 的结合体, 同时做了两个操作
当代码执行到lamda, lamda就会被new, lamda是引其所在的类为外部类, 自己为内部类,创建的对象, 持有外部类的对象 作为自身的参数 arg$1, 以及其他在调用时传入自己参数arg$2, arg$3 等等,
所以每次代码执行到lamda表达式定义的地方,只是new了对象, 方法内部的逻辑还没有执行, 得等到后面应用apply等方法时,才会执行
lamda 如何调用
我们平常看到的lamda表达是是Function/Consumer等通用类型,只有引用是通用类型才能使用apply的方法,如果把 lamda表达式赋值给某个具体的接口, 则只能调用对应的接口方法, 才能调用到lamda表达式的逻辑