欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

泛型

泛型的語法定義

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

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

泛型的使用語法

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

泛型總結(jié)

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

從泛型類派生子類

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

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

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

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

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

泛型接口

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

lambda表達式

lambda表達式概念

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

lambda表達式格式

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

代碼示例:

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表達式:創(chuàng)建線程
        new Thread(()->{
            System.out.println("多線程2就緒了");
        }).start();
    }
}
class Mythread implements Runnable{
    @Override
    public void run() {
        System.out.println("多線程就緒");
    }
}

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

相關(guān)文章

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

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

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

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

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

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

    Servlet指在服務器端執(zhí)行的一段Java代碼,可以接收用戶的請求和返回給用戶響應結(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抓取鼠標事件和鼠標滾輪事件示例

    java抓取鼠標事件和鼠標滾輪事件示例

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

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

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

    java基礎知識 super和this使用解析

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

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

    這篇文章主要給大家介紹了關(guān)于Spring如何消除代碼中if-else/switch-case的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    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連接遠程服務器實現(xiàn)遠程上傳部署功能

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

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

最新評論