Lambda表达式作为参数传递给方法或作为返回值,要求Lambda表达式方法参数应该是函数式接口类型。
代码实例
函数式接口
//可计算接口
@FunctionalInterface
public interface Calculable {
//计算两个int数值
int calculateInt(int a,int b);
}
具体实现
public static void main(String[] args) {
int n1=10;
int n2=5;
//打印计算结果加法计算
display((int a, int b)->{
return a + b;
},n1,n2);
//打印计算结果减法计算
display((a,b)-> a - b,n1,n2);
/**
* 打印计算结果
* @param calc Lambda表达式
* @param n1 操作数1
* @param n2 操作数1
*/
public static void display(Calculable calc,int n1,int n2){
System.out.println(calc.calculateInt(n1, n2));
}
}