首頁 > Java > java教程 > Java lambda表達式與泛型應用實例分析

Java lambda表達式與泛型應用實例分析

PHPz
發布: 2023-05-03 18:16:07
轉載
1083 人瀏覽過

泛型

泛型的語法定義

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

public class GenericDemo<K> {
    //定义数组
    private K[] arr;
}
登入後複製

泛型的使用語法

  • 類別名稱<具體的資料> 對象名= new 類別名稱<具體的資料型別>()

  • jdk1.7之後,後邊的<>可以省略不寫

  • #類別名稱<具體的資料> 物件名稱= new 類別名稱<>()

泛型總結

  • 型別參數化,讓類別的定義更通用

  • #泛型不支援基本型別,因為在編譯時,基本型別無法轉換成Object

  • #泛型類別在建立物件的時候,如果沒有指定資料類型,將依照Object類型來操作

  • #同一泛型類別在邏輯上可以看成是多個不同的類型,但實際上是相同的類型

從泛型類別衍生子類別

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

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

public class Child<T> extends Parent<T> {
}
登入後複製

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

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

泛型介面

  • 泛型介面的語法定義:interface 介面名稱<泛型識別1,泛型識別2,…>{ 泛型識別方法名稱(); … }

  • #實作類別也是泛型,實作類別和介面的泛型要一致,如果介面沒有指明類型,則介面要依照Object型別處理

  • 實作類別不是泛型,介面要明確泛型介面的資料類型,如果介面沒有指明類型,則介面依照Object型別處理

#lambda表達式

lambda表達式概念

  • 物件導向的程式設計中強調,必須透過物件的形式去做事情;函數思想則是盡量忽略物件的複雜寫法,「強調做什麼,而不是以什麼形式去做」

  • lambda表達式就是函數思想的體現

  • #lambda表達式就是定義函數式的簡化寫法,而不是函數呼叫的簡化寫法

lambda表達式格式

  • 三要素:形式參數,箭頭,程式碼區塊

  • ##形如:(形參)->程式碼區塊

  • 形參若多個參數,參數之間逗號隔開,如果沒有參數,留空括號,不用留空格

  • -> 一定的是英文,固定寫法,表示執行

  • #程式碼區塊:具體要做的事情

  • 使用前提:使用介面:介面當中有且只有一個抽象方法

#程式碼範例:

package com.lambda;
public class Lambda {
    public static void main(String[] args) {
        //正常写法
        Mythread mythread = new Mythread();
        Thread t = new Thread(mythread);
        t.start();
        //匿名内部类
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("多线程1就绪了");
            }
        }).start();
        //lambda表达式:创建线程
        new Thread(()->{
            System.out.println("多线程2就绪了");
        }).start();
    }
}
class Mythread implements Runnable{
    @Override
    public void run() {
        System.out.println("多线程就绪");
    }
}
登入後複製

以上是Java lambda表達式與泛型應用實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
java可以做為web的後端嗎?
來自於 1970-01-01 08:00:00
0
0
0
安裝JAVA
來自於 1970-01-01 08:00:00
0
0
0
無法安裝java
來自於 1970-01-01 08:00:00
0
0
0
求救:JAVA加密的資料PHP解密
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板