Lambda基礎(chǔ)語(yǔ)法

Lambda表達(dá)式的基本語(yǔ)法

java8中引入一個(gè)新的操作符“->”,該操作符稱為箭頭操作符或Lambda操作符。
操作符將Lambda表達(dá)式拆分為左右兩部分:
左側(cè):Lambda表達(dá)式的參數(shù)列表
右側(cè):Lambda表達(dá)式中所需執(zhí)行的功能,稱為L(zhǎng)ambda體

創(chuàng)新互聯(lián)是一家專業(yè)提供沾化企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、H5頁(yè)面制作、小程序制作等業(yè)務(wù)。10年已為沾化眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

語(yǔ)法格式一:無(wú)參數(shù),無(wú)返回值

() -> System.out.println("Hello e路縱橫開(kāi)發(fā)團(tuán)隊(duì)");

@Test
    public void test1(){

        int num = 0;
        //匿名內(nèi)部類
        Runnable r = new Runnable() {
            @Override
            public void run() {
                System.out.println("Hello World!" + num);//在匿名內(nèi)部類中應(yīng)用了同級(jí)別的變量時(shí),在jdk1.7以前,變量必須申明為final,在jdk1.8中,默認(rèn)加上final
            }
        };
        r.run();

        System.out.println("---------------------------------------");

        //Lambda表達(dá)式
        Runnable r1 = () -> System.out.println("Hello e路縱橫開(kāi)發(fā)團(tuán)隊(duì)" + num);
        r1.run();
    }
語(yǔ)法格式二:有一個(gè)參數(shù),無(wú)返回值

(x) -> System.out.prinrln(x);

@Test
    public void test2(){
        Consumer<String> consumer = (x) -> System.out.println(x);
        consumer.accept("e路縱橫");
    }
語(yǔ)法格式三:若只有一個(gè)參數(shù),小括號(hào)可以省略不寫

x -> System.out.println(x);

@Test
    public void test3(){
        Consumer<String> consumer = x -> System.out.println(x);
        consumer.accept("e路縱橫");
    }
語(yǔ)法格式四:有兩個(gè)以上的參數(shù),有返回值,并且Lambda體中有多條語(yǔ)句

Comparator<Integer> comparator = (x, y) -> {
System.out.println("函數(shù)式接口");
return Integer.compare(x, y);
}

@Test
    public void test4(){
        Comparator<Integer> comparator = (x, y) -> {
            System.out.println("函數(shù)式接口");
            return Integer.compare(x, y);
        };
    }
語(yǔ)法格式五:若Lambda體中只有一條語(yǔ)句,return和大括號(hào)都可以省略不寫

Comparator<Integer> comparator = (x, y) -> Integer.compare(x, y);

@Test
    public void test5(){
        Comparator<Integer> comparator = (x, y) -> Integer.compare(x, y);
    }
語(yǔ)法格式六:Lambda表達(dá)式的參數(shù)列表的數(shù)據(jù)類型可以省略不寫,因?yàn)镴VM編譯器可以通過(guò)上下文推斷出數(shù)據(jù)類型,即“類型推斷”。

(Integer x, Integer y) -> Integer.compare(x, y); 其中Integer可以省略不寫

Lambda表達(dá)式需要“函數(shù)式接口”的支持

函數(shù)式接口:接口中只有一個(gè)抽象方法的接口,稱為函數(shù)式接口。可以使用注解@FunctionInterface修飾,可以檢查接口是否是函數(shù)式接口

@FunctionalInterface
public interface MyFun<T> {

    public Integer getValue(Integer num);
}

本文名稱:Lambda基礎(chǔ)語(yǔ)法
文章鏈接:http://muchs.cn/article38/piohsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、響應(yīng)式網(wǎng)站、網(wǎng)站導(dǎo)航網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)公司、小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)