Lambda表达式-练习后篇
使用Lambda标准格式(有参有返回)
题目:给定一个计算器Calculator接口 内包含抽象方法calc可以将两个int数字相加得到和值
代码
接口
public interface Calculator {
    public abstract int calc(int a,int b);
}
测试类:
public static void main(String[] args) {
    method(20,30,(int a,int b)->{return a+b;});
}
public static void method(int a,int b,Calculator calculator){
    int calc = calculator.calc(a, b);
    System.out.println(calc);
}
运行结果:

Lambda省略格式
Lambda强调的是”做什么“而不是”怎么做“ 所以凡是可以根据上下文推导得知的信息 都可以省略
省略规则
在Lambda标准格式的基础上 使用省略写法的规则为:
1.小括号内参数的类型可以省略
2.如果小括号内有且仅有一个参 则小括号可以省略
3.如果大括号内有且仅有一个语句 则无论释放有返回值 都可以省略大括号 return关键字及语法分号
注意:要省略他们三个得一起省略
代码:
无参数的Lambda省略表达式:
public static void main(String[] args) {
    //method(()->{ System.out.println("吃饭啦!"); });
    method(()->System.out.println("吃饭啦!"));
}
public static void method(Cook cook){
    cook.makeFood();
}
有参数的Lambda省略表达式:
public class test {
    public static void main(String[] args) {
        //method(20,30,(int a,int b)->{return a+b;});
        method(20,30,(a,b)->a+b);
    }
    public static void method(int a,int b,Calculator calculator){
        int calc = calculator.calc(a, b);
        System.out.println(calc);
    }
}
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号