使用前提:
1.使用Lambda必须具有接口,且要求“接口中有且只有一个抽象方法”。
无论是JDK内置的runable,Comparator接口还是自定义的接口,只有当接口中的抽象方法存在且唯一时,才可以使用。
2.使用LambDa必须具有上下文推断。
也就是方法的参数或局部变量类型必须为对应的接口类型,才能使用Labmda用为该接口的实例。
public class CalTest {
public static void main(String[] args) {
cal(10, 20, new Cal() {
@Override
public int cal(int a, int b) {
return a+b;
}
});
//Lambda写法
cal(11,22,(int a,int b)->{return a+b;});
}
private static void cal(int a,int b,Cal c) {
int sum = c.cal(a,b);
System.out.println(sum);
}
}
public interface Cal {
int cal(int a,int b);
}