最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中Lamda表達式講解

 更新時間:2021年12月30日 16:55:42   作者:Ocean..  
本文詳細講解了java中的Lamda表達式,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

Lamda表達式

  • 1、λ 希臘字母表中排序第十一位的字母,英語名稱為 Lamda
  • 2、避免匿名內(nèi)部類定義過多
  • 3、可以讓你的代碼看起來很簡潔
  • 4、去掉了一堆沒有意義的代碼,留下核心的邏輯
  • 5、其實質(zhì)屬于函數(shù)式編程的概念

(params)-> expression[表達式]

(params) -> statement[語句]

(params) -> {statements}

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

new Thread (()->System.out.println(“多線程學(xué)習(xí)。。。?!?).start();

怎么理解

  • 1、理解Functional interface(函數(shù)式接口)是學(xué)習(xí)java8 lamda表達式的關(guān)鍵所在。
  • 2、函數(shù)式接口的定義:

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

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

對于函數(shù)式接口,我們可以通過lamda表達式來創(chuàng)建該接口的對象

代碼推導(dǎo)λ表達式

package com.haiyang.lamda;

public class TestLamda01 {

    //3、靜態(tài)內(nèi)部類,同樣實現(xiàn)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、局部內(nèi)部類
        class Like3 implements ILike{
            @Override
            public void lamda() {
                System.out.println("i like lamda3");
            }
        }
        like = new Like3();
        like.lamda();

        //5、匿名內(nèi)部類,沒有類的名稱。必須借助接口或者父類
        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、實現(xiàn)類
class Like implements ILike{

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

輸出:

帶一個參數(shù)的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簡化參數(shù)類型
        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);
}

輸出:

帶多個參數(shù)的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簡化參數(shù)類型(要去掉就要都去掉)
        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);
}

輸出:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實現(xiàn)多項式乘法代碼實例

    Java實現(xiàn)多項式乘法代碼實例

    今天小編就為大家分享一篇關(guān)于Java實現(xiàn)多項式乘法代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 基于SpringBoot2.0版本與老版本的區(qū)別

    基于SpringBoot2.0版本與老版本的區(qū)別

    這篇文章主要介紹了SpringBoot2.0版本與老版本的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 文件路徑正確,報java.io.FileNotFoundException異常的原因及解決辦法

    文件路徑正確,報java.io.FileNotFoundException異常的原因及解決辦法

    這篇文章主要介紹了文件路徑正確,報java.io.FileNotFoundException異常的原因及解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • 偵聽消息隊列的Message Listener類示例詳解

    偵聽消息隊列的Message Listener類示例詳解

    Spring AMQP 是基于 Spring 框架的AMQP消息解決方案,提供模板化的發(fā)送和接收消息的抽象層,提供基于消息驅(qū)動的 POJO的消息監(jiān)聽等,簡化了我們對于RabbitMQ相關(guān)程序的開發(fā),本文給大家介紹偵聽消息隊列的Message Listener類,感興趣的朋友一起看看吧
    2023-12-12
  • Javassist用法詳解

    Javassist用法詳解

    這篇文章主要介紹了Javassist用法的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-02-02
  • 詳解SpringBoot配置文件啟動時動態(tài)配置參數(shù)方法

    詳解SpringBoot配置文件啟動時動態(tài)配置參數(shù)方法

    這篇文章主要介紹了詳解SpringBoot配置文件啟動時動態(tài)配置參數(shù)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • JavaPoet的使用指南小結(jié)

    JavaPoet的使用指南小結(jié)

    這篇文章主要介紹了JavaPoet的使用指南小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • Spring的@ComponentScan注解用法介紹

    Spring的@ComponentScan注解用法介紹

    這篇文章主要介紹了Spring的@ComponentScan注解用法介紹,@ComponentScan注解一般和@Configuration注解一起使用,主要的作用就是定義包掃描的規(guī)則,然后根據(jù)定義的規(guī)則找出哪些需類需要自動裝配到spring的bean容器中,然后交由spring進行統(tǒng)一管理,需要的朋友可以參考下
    2023-11-11
  • Java實現(xiàn)單例設(shè)計模式方法解析

    Java實現(xiàn)單例設(shè)計模式方法解析

    這篇文章主要介紹了Java實現(xiàn)單例設(shè)計模式方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • maven學(xué)習(xí)-初窺門徑

    maven學(xué)習(xí)-初窺門徑

    這篇文章主要介紹了maven的簡單知識,介紹了maven的定義及核心功能,具有一定參考價值,大家可以了解下。
    2017-10-10

最新評論

莆田市| 昭觉县| 乐业县| 会东县| 睢宁县| 盐池县| 牡丹江市| 泽普县| 大新县| 江口县| 随州市| 阿拉善右旗| 新竹市| 黄陵县| 临高县| 武鸣县| 河东区| 筠连县| 馆陶县| 富民县| 蛟河市| 唐河县| 方城县| 吉隆县| 峨山| 同江市| 秭归县| 仁布县| 健康| 新建县| 石城县| 镇赉县| 昌图县| 涟源市| 肥西县| 鱼台县| 长宁县| 福鼎市| 泰安市| 海兴县| 金昌市|