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);
}