以下是根据资料和实验得出的理解:
1、Lambda表达式的使用与函数式接口有关
2、函数式接口有且仅有一个抽象方法
函数式接口、Lambda表达式不懂的可以去参考其他文章
以下代码可以自行复制粘贴看看执行效果
@FunctionalInterface
public interface MyFunctionalInterface {
int test(int a,int b);
}
import java.util.ArrayList;
import java.util.List;
public class testLambda {
private static int sum(MyFunctionalInterface myFunctionalInterface,int a,int b){
return myFunctionalInterface.test(a,b);
}
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("abc");
list.add("def");
list.add("ghi");
list.forEach(item -> System.out.println(item));
MyFunctionalInterface myFunctionalInterface = (int a,int b)-> {
return a+b;
};
MyFunctionalInterface myFunctionalInterface1 = (int a,int b)-> a+b;
int result = myFunctionalInterface1.test(3,2);
System.out.println(result);
int result1 = sum((int a,int b) -> a+b,20,36);
System.out.println(result1);
}
}