亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java?lambda表達(dá)式與泛型整理總結(jié)

 更新時間:2022年07月30日 11:14:26   作者:·~簡單就好  
Lambda?表達(dá)式(lambda?expression)是一個匿名函數(shù),Lambda表達(dá)式基于數(shù)學(xué)中的λ演算得名。泛型編程,故如其名,是一個泛化的編程方式。其實(shí)現(xiàn)原理為程序員編寫一個函數(shù)/類的代碼示例,讓編譯器去填補(bǔ)出不同的函數(shù)實(shí)現(xiàn)

泛型

泛型的語法定義

class 類名 <泛型標(biāo)識,泛型標(biāo)識,…>{ private 泛型標(biāo)識1,變量名;常用的泛型標(biāo)識:T,E,K,V } 里面正常寫法

public class GenericDemo<K> {
    //定義數(shù)組
    private K[] arr;
}

泛型的使用語法

  • 類名<具體的數(shù)據(jù)> 對象名 = new 類名<具體的數(shù)據(jù)類型>()
  • jdk1.7之后,后邊的<>可以省略不寫
  • 類名<具體的數(shù)據(jù)> 對象名 = new 類名<>()

泛型總結(jié)

  • 類型參數(shù)化,讓類的定義更加通用
  • 泛型不支持基本類型,因?yàn)樵诰幾g時,基本類型無法轉(zhuǎn)換成Object
  • 泛型類在創(chuàng)建對象的時候,如果沒有指定數(shù)據(jù)類型,將按照Object類型來操作
  • 同一泛型類在邏輯上可以看成是多個不同的類型,但實(shí)際是相同的類型

從泛型類派生子類

子類也是泛型,子類和父類的泛型要一致 (例如:連泛型的類型T要一致,寫的內(nèi)容相同),

如果父類沒有指明類型,則父類要按照Object類型處理

public class Child<T> extends Parent<T> {
}

子類不是泛型,父類要明確泛型類型,

如果父類沒有指明類型,則父類要按照Object類型處理

泛型接口

  • 泛型接口的語法定義:interface 接口名<泛型標(biāo)識1,泛型標(biāo)識2,…>{ 泛型標(biāo)識 方法名(); … }
  • 實(shí)現(xiàn)類也是泛型,實(shí)現(xiàn)類和接口的泛型要一致,如果接口沒有指明類型,則接口要按照Object類型處理
  • 實(shí)現(xiàn)類不是泛型,接口要明確泛型接口的數(shù)據(jù)類型,如果接口沒有指明類型,則接口按照Object類型處理

lambda表達(dá)式

lambda表達(dá)式概念

  • 面向?qū)ο蟮木幊讨袕?qiáng)調(diào),必須通過對象的形式去做事情;函數(shù)思想則是盡量忽略對象的復(fù)雜寫法,“強(qiáng)調(diào)做什么,而不是以什么形式去做”
  • lambda表達(dá)式就是函數(shù)思想的體現(xiàn)
  • lambda表達(dá)式就是定義函數(shù)式的簡化寫法,而不是函數(shù)調(diào)用的簡化寫法

lambda表達(dá)式格式

  • 三要素:形式參數(shù),箭頭,代碼塊
  • 形如:(形參)->代碼塊
  • 形參如果多個參數(shù),參數(shù)之間逗號隔開,如果沒有參數(shù),留空括號,不用留空格
  • -> 一定的是英文,固定寫法,表示執(zhí)行
  • 代碼塊:具體要做的事情
  • 使用前提:使用接口:接口當(dāng)中有且只有一個抽象方法

代碼示例:

package com.lambda;
public class Lambda {
    public static void main(String[] args) {
        //正常寫法
        Mythread mythread = new Mythread();
        Thread t = new Thread(mythread);
        t.start();
        //匿名內(nèi)部類
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("多線程1就緒了");
            }
        }).start();
        //lambda表達(dá)式:創(chuàng)建線程
        new Thread(()->{
            System.out.println("多線程2就緒了");
        }).start();
    }
}
class Mythread implements Runnable{
    @Override
    public void run() {
        System.out.println("多線程就緒");
    }
}

到此這篇關(guān)于Java lambda表達(dá)式與泛型整理總結(jié)的文章就介紹到這了,更多相關(guān)Java lambda表達(dá)式與泛型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 支持SpEL表達(dá)式的自定義日志注解@SysLog介紹

    支持SpEL表達(dá)式的自定義日志注解@SysLog介紹

    這篇文章主要介紹了支持SpEL表達(dá)式的自定義日志注解@SysLog,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο?

    java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο?

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο螅闹惺纠a介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Java servlet后端開發(fā)超詳細(xì)教程

    Java servlet后端開發(fā)超詳細(xì)教程

    Servlet指在服務(wù)器端執(zhí)行的一段Java代碼,可以接收用戶的請求和返回給用戶響應(yīng)結(jié)果,下面這篇文章主要給大家介紹了關(guān)于Java.servlet生命周期的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • MyBatis-plus報錯Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required的解決方法

    MyBatis-plus報錯Property ‘sqlSessionFactory‘ or 

    這篇文章主要給大家介紹了MyBatis-plus 報錯 Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required的兩種解決方法,如果遇到相同問題的朋友可以參考借鑒一下
    2023-12-12
  • java抓取鼠標(biāo)事件和鼠標(biāo)滾輪事件示例

    java抓取鼠標(biāo)事件和鼠標(biāo)滾輪事件示例

    這篇文章主要介紹了java抓取鼠標(biāo)事件和鼠標(biāo)滾輪事件示例,需要的朋友可以參考下
    2014-05-05
  • SpringBoot異常處理器的使用與添加員工功能實(shí)現(xiàn)流程介紹

    SpringBoot異常處理器的使用與添加員工功能實(shí)現(xiàn)流程介紹

    設(shè)計(jì)完了登錄與退出功能還只完成了冰山一角,經(jīng)過測試發(fā)現(xiàn),我們以url的方式來訪問網(wǎng)站時可以直接跳過登陸頁面進(jìn)入后臺頁面,這樣顯然是不合理的,下面我們通過異常攔截器+boot來做到訪問限制,以及實(shí)現(xiàn)新增員工功能,制作全局異常處理器
    2022-10-10
  • java基礎(chǔ)知識 super和this使用解析

    java基礎(chǔ)知識 super和this使用解析

    這篇文章主要介紹了java基礎(chǔ)知識 super和this使用解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Spring如何消除代碼中的if-else/switch-case

    Spring如何消除代碼中的if-else/switch-case

    這篇文章主要給大家介紹了關(guān)于Spring如何消除代碼中if-else/switch-case的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Java的Spring框架下RMI與quartz的調(diào)用方法

    Java的Spring框架下RMI與quartz的調(diào)用方法

    這篇文章主要介紹了Java的Spring框架下RMI與quartz的調(diào)用方法,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-11-11
  • 利用Intellij Idea連接遠(yuǎn)程服務(wù)器實(shí)現(xiàn)遠(yuǎn)程上傳部署功能

    利用Intellij Idea連接遠(yuǎn)程服務(wù)器實(shí)現(xiàn)遠(yuǎn)程上傳部署功能

    大家在使用Intellij Idea開發(fā)程序的時候,是不是需要部署到遠(yuǎn)程SSH服務(wù)器運(yùn)行呢,當(dāng)然也可以直接在idea軟件內(nèi)容實(shí)現(xiàn)配置部署操作,接下來通過本文給大家分享利用Intellij Idea連接遠(yuǎn)程服務(wù)器實(shí)現(xiàn)遠(yuǎn)程上傳部署功能,感興趣的朋友跟隨小編一起看看吧
    2021-05-05

最新評論