lamada表達式的省略模式


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM