中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中Lamda表達式是什么

發布時間:2021-12-31 18:31:04 來源:億速云 閱讀:247 作者:柒染 欄目:開發技術

java中Lamda表達式是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Lamda表達式

  • 1、λ 希臘字母表中排序第十一位的字母,英語名稱為 Lamda

  • 2、避免匿名內部類定義過多

  • 3、可以讓你的代碼看起來很簡潔

  • 4、去掉了一堆沒有意義的代碼,留下核心的邏輯

  • 5、其實質屬于函數式編程的概念

(params)-> expression[表達式]

(params) -> statement[語句]

(params) -> {statements}

a -> System.out.println("i like lamda-->"+a)

new Thread (()->System.out.println(“多線程學習。。。。”)).start();

怎么理解

  • 1、理解Functional interface(函數式接口)是學習java8 lamda表達式的關鍵所在。

  • 2、函數式接口的定義:

任何接口,如果只包含唯一一個抽象方法,那么它就是一個函數式接口。

public interface Runnable{
	public abstract void run();
}

對于函數式接口,我們可以通過lamda表達式來創建該接口的對象

代碼推導λ表達式

package com.haiyang.lamda;

public class TestLamda01 {

    //3、靜態內部類,同樣實現ILike接口
    static class Like2 implements ILike{
        @Override
        public void lamda() {
            System.out.println("i like lamda2");
        }
    }

    public static void main(String[] args) {
        ILike like = new Like();
        like.lamda();
        like = new Like2();
        like.lamda();

        //4、局部內部類
        class Like3 implements ILike{
            @Override
            public void lamda() {
                System.out.println("i like lamda3");
            }
        }
        like = new Like3();
        like.lamda();

        //5、匿名內部類,沒有類的名稱。必須借助接口或者父類
        like = new ILike() {
            @Override
            public void lamda() {
                System.out.println("i like lamda4");
            }
        };
        like.lamda();

        //6、lamda表達式
        like = ()->{
            System.out.println("i like lamda5");
        };
        like.lamda();
    }
}


//1、定義一個只有一個抽象方法的接口
interface ILike{
    abstract void lamda();
}

//2、實現類
class Like implements ILike{

    @Override
    public void lamda() {
        System.out.println("i like lamda1");
    }
}

輸出:

java中Lamda表達式是什么

帶一個參數的Lamda簡化

package com.haiyang.lamda;

public class TestLamda02 {

    public static void main(String[] args) {
        ILive live = null;

        //Lamda簡化
        live = (int a)->{
            System.out.println("I live you"+a);
        };
        live.live(1);

        //Lamda簡化參數類型
        live = (a)->{
            System.out.println("I live you"+a);
        };
        live.live(2);

        //Lamda簡化括號
        live = a->{
            System.out.println("I live you"+a);
        };
        live.live(3);

        //Lamda簡化花括號(只有一條語句時)
        live = a->System.out.println("I live you"+a);
        live.live(4);
    }

}

interface ILive{
    abstract void live(int a);
}

輸出:

java中Lamda表達式是什么

帶多個參數的Lamda簡化

package com.haiyang.lamda;

public class TestLamda02 {

    public static void main(String[] args) {
        ILive live = null;

        //Lamda簡化
        live = (int a,int b)->{
            System.out.println("I live you"+a+b);
        };
        live.live(1,1);

        //Lamda簡化參數類型(要去掉就要都去掉)
        live = (a,b)->{
            System.out.println("I live you"+a+b);
        };
        live.live(2,2);


        //Lamda簡化花括號(只有一個語句時)
        live = (a,b)->System.out.println("I live you"+a+b);
        live.live(3,3);
    }

}

interface ILive{
    abstract void live(int a,int b);
}

輸出:

java中Lamda表達式是什么

看完上述內容,你們掌握java中Lamda表達式是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪泽县| 伊吾县| 大余县| 察隅县| 南岸区| 扎囊县| 苍梧县| 四川省| 澄迈县| 时尚| 奉贤区| 庐江县| 涞源县| 成都市| 陵水| 鸡泽县| 遂宁市| 平安县| 建平县| 黎川县| 瑞金市| 汉寿县| 垫江县| 惠水县| 德格县| 莒南县| 喜德县| 新源县| 镇安县| 泸州市| 凉城县| 金山区| 乌苏市| 平阴县| 伊宁县| 孟州市| 泗洪县| 南涧| 钦州市| 北票市| 大悟县|