jdk1.8Lambda函式表示式

小傳blog發表於2019-06-18

基本概念

Lambda表示式的標準格式:

  • 由三部分組成:
    1. a.一些引數
    2. b.一個箭頭
    3. c.一段程式碼
  • 格式:
    • (引數列表) -> {一些重寫方法的程式碼};
  • 解釋說明格式:
    1. ():介面中抽象方法的引數列表,沒有引數,就空著;有引數就寫出引數,多個引數使用逗號分隔
    2. ->:傳遞的意思,把引數傳遞給方法體{}
    3. {}:重寫介面的抽象方法的方法體

1.程式碼例項一

public class Demo02Lambda {
    public static void main(String[] args) {
        //使用匿名內部類的方式,實現多執行緒
        new Thread(new Runnable(){
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+" 新執行緒建立了");
            }
        }).start();

        //使用Lambda表示式,實現多執行緒
        new Thread(()->{
            System.out.println(Thread.currentThread().getName()+" 新執行緒建立了");
        }
        ).start();

        //優化省略Lambda
        new Thread(()->System.out.println(Thread.currentThread().getName()+" 新執行緒建立了")).start();
    }
}

2.例項二

//主方法
public class Denmo04InvoleCalc {
    public static void main(String[] args) {
        //使用匿名類的方法
        involeCalc(4, 3, new Calculator() {
            @Override
            public int cal(int a, int b) {
                return a+b;
            }
        });

        //使用Lambda表示式的方法
        involeCalc(4,3,(a,b)->{
            return a+b;
        });
    }

    public static void involeCalc(int a,int b, Calculator calculator){
        int sum = calculator.cal(a,b);
        System.out.println("兩數和的結果是"+sum);
    }
}

//介面
public interface Calculator {
    public abstract int cal(int a ,int b);
}

相關文章