Lambda表达式的省略模式
省略规则:
●参数类型可以省略。 但是有多个参数的情况下,不能只省略一个
●如果参数有且仅有一 个,那么小括号可以省略
●如果代码块的语句只有一 条,可以省略大括号和分号,甚至是return
代码示例
测试代码
package com.inetTes01; public class LamadaDemo01 { public static void main(String[] args) { // useAddable((int x,int y) -> { // return x+y; // }); //参数的类型可以省略 有多个参数的情况下不能只省略一个 useAddable((x, y) -> { return x + y; }); // useFlyable((String s) -> { // System.out.println(s); // }); //风和日丽,晴空万里 // useFlyable((s) -> { // System.out.println(s); // }); //风和日丽,晴空万里 //如果参数有且仅有一个小括号可省略 // useFlyable(s -> { // System.out.println(s); // }); //风和日丽,晴空万里 //如果代码块的语句只有一 条,可以省略大括号和分号 useFlyable(s -> System.out.println(s)); //风和日丽,晴空万里 //在代码块只有一条的情况下,不仅可以省略大括号和分号,连return都可以省略 useAddable((x, y) -> x + y); // 30 } private static void useFlyable(Flyable f) { f.fly("风和日丽,晴空万里"); } private static void useAddable(Addable a) { int sum = a.add(10, 20); System.out.println(sum); } }
两个接口
package com.inetTes01;
public interface Addable {
int add (int x,int y);
}
package com.inetTes01;
public interface Flyable {
void fly(String s);
}