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

Java泛型 <T> T、 T、<T>的用法小結(jié)

 更新時間:2023年12月24日 09:40:27   作者:凡客丶  
T在Java泛型中,被稱作類型變量, 有的方法返回值是<T> T,有的是T,區(qū)別在哪里,本文主要介紹了Java泛型 <T> T、 T、<T>的用法小結(jié),具有一定的參考價值,感興趣的可以了解下

我們聊聊Java泛型中的 T 是什么?

T 在Java泛型中,被稱作類型變量。那么什么又是類型變量?

類型變量在整個類的定義中用于指定方法的返回類型,同時也可以指定字段和局部變量的類型,我們可以用具體的類型來替換類型變量來實例化泛型類型。

如果我們經(jīng)??丛创a,就能看到很多類似于T這種類型變量,簡單介紹一下這些類型變量分別代表什么含義。

  • Ⅰ、T、U、S:表示任意類型
  • Ⅱ、K:表示鍵類型
  • Ⅲ、V:表示值類型
  • Ⅳ、E:表示集合元素類型
  • Ⅴ、N:表示數(shù)字類型

了解完這些類型變量的含義后,我們回歸正傳, <T> T 、T、<T> 到底在用法上有什么區(qū)別?

樣例代碼

public class GenericMethod {
    public static void main(String[] args) {
        Double[] num = {1.11, 2.22, 3.33, 4.44, 5.55, 6.66};
        String[] str = {"Hello", "World", "你好", "世界"};
 
        Generic01 generic01 = new Generic01();
        generic01.toGeneric01(num);
        generic01.toGeneric01(str);
 
 
        Generic02<Double> doubleGeneric02 = new Generic02<>();
        doubleGeneric02.toGeneric02(num);
        Generic02<String> doubleGeneric03 = new Generic02<>();
        doubleGeneric03.toGeneric02(str);
    }
}
 
class Generic01 {
    public <T> T toGeneric01(T[] arr) {
        return arr[arr.length - 1];
    }
}
 
class Generic02<T> {
    public T toGeneric02(T[] arr) {
        return arr[arr.length - 1];
    }
}
 
class Generic03 {
    public <T> void toGeneric03(T[] arr) {
        T t = arr[arr.length - 1];
    }
}

上面的樣例測試中,我分別編寫了兩個類 Generic01 和 Generic02。Generic01類 編寫的方法的返回值樣式為 <T> T,Generic02類 編寫的方法返回值的樣式為 T。在編寫的時候發(fā)現(xiàn),如果方法的返回值寫成 T,那么這個類必須為泛型,簡單來說就是 Generic02類 后面必須加上 <T>,否則會報錯!

報錯如下

在這里插入圖片描述

Generic02類加上<T>后,那么我們在通過此類調(diào)用方法時,就必須傳入類型,比如Integer、Double、String、我們自定義的類等等一些類,而方法返回為 <T> T 的 Generic01類 則無需知道類型,傳入即可~

在這里插入圖片描述

談?wù)撏闓eneric01和Generic02后,我們來說說Generic03是什么含義?

Generic03方法
public <T> 中的這個 T 是修飾符的功能,代表是個泛型方法,與static修飾靜態(tài)方法一個意思,但是,這里的<T>并不是返回值類型,而是表示這里傳入的參數(shù)可以是泛型或者下面定義的變量可以是泛型,<T>在這里的目的是為了確保參數(shù)中可以出現(xiàn)T這種數(shù)據(jù)類型或者方法中定義的變量可以是T這種數(shù)據(jù)類型。

總結(jié) T、 <T>、<T> T

T 代表只能傳入 T 類型的數(shù)據(jù),也就是說,方法實例化的數(shù)據(jù)類型,就是 T 的數(shù)據(jù)類型。( 根據(jù)上面的代碼理解也就是,如果Generic02,那么就限制 T 為 Double 類型。)

<T> 代表
表示修飾符的含義,代表這是一個泛型方法。作用是:可以傳入的參數(shù)為 T 這種類型變量

<T> T 代表
① 第一個 <T> 表示泛型 ② 第二個 T 表示返回的是 T 類型的數(shù)據(jù)(比如:Integer、Double、String 等等)③ 第三個 T 來限制傳入的數(shù)據(jù)類型(比如:限制為數(shù)組、集合 等等)

到此這篇關(guān)于Java泛型 <T> T、 T、<T>的用法小結(jié)的文章就介紹到這了,更多相關(guān)Java泛型 <T> T、 T、<T>內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JDK8中Optional類巧用之判空操作

    JDK8中Optional類巧用之判空操作

    善用Optional可以使我們代碼中很多繁瑣、丑陋的設(shè)計變得十分優(yōu)雅,這篇文章主要給大家介紹了JDK8中Optional類巧用之判空的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-08-08
  • 并行Stream與Spring事務(wù)相遇會發(fā)生什么?

    并行Stream與Spring事務(wù)相遇會發(fā)生什么?

    這篇文章主要介紹了并行Stream與Spring事務(wù)相遇會發(fā)生什么?文章主要解決實戰(zhàn)中的Bug及解決方案和技術(shù)延伸,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Java?List<JSONObject>中的數(shù)據(jù)如何轉(zhuǎn)換為List<T>

    Java?List<JSONObject>中的數(shù)據(jù)如何轉(zhuǎn)換為List<T>

    這篇文章主要介紹了Java?List<JSONObject>中的數(shù)據(jù)如何轉(zhuǎn)換為List<T>問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Spring容器中已經(jīng)存在的Bean替換示例

    Spring容器中已經(jīng)存在的Bean替換示例

    這篇文章主要為大家介紹了Spring容器中已經(jīng)存在的Bean替換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 關(guān)于Guava緩存詳解及使用說明

    關(guān)于Guava緩存詳解及使用說明

    這篇文章主要介紹了關(guān)于Guava緩存詳解及使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 關(guān)于maven環(huán)境的安裝及maven集成idea環(huán)境的問題

    關(guān)于maven環(huán)境的安裝及maven集成idea環(huán)境的問題

    Maven 是一個基于 Java 的工具,所以要做的第一件事情就是安裝 JDK。本文重點給大家介紹關(guān)于maven環(huán)境的安裝及和idea環(huán)境的集成問題,感興趣的朋友一起看看吧
    2021-09-09
  • Java中Arrays.asList()方法詳解及實例

    Java中Arrays.asList()方法詳解及實例

    這篇文章主要介紹了Java中Arrays.asList()方法將數(shù)組作為列表時的一些差異的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • SpringBoot 項目使用hutool 工具進行 http 接口調(diào)用的處理方法

    SpringBoot 項目使用hutool 工具進行 http 接口調(diào)用的處理方

    在實際的開發(fā)過程中一個互聯(lián)網(wǎng)的項目來說 ,有可能會涉及到調(diào)用外部接口的實際業(yè)務(wù)場景,下面通過本文給大家介紹SpringBoot 項目 使用hutool 工具進行 http 接口調(diào)用的處理方法,需要的朋友可以參考下
    2022-06-06
  • Java數(shù)據(jù)結(jié)構(gòu)之并查集的實現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之并查集的實現(xiàn)

    并查集是一種用來管理元素分組情況的數(shù)據(jù)結(jié)構(gòu)。并查集可以高效地進行如下操作。本文將通過Java實現(xiàn)并查集,感興趣的小伙伴可以了解一下
    2022-01-01
  • 教你用JDK編譯Java文件的方法

    教你用JDK編譯Java文件的方法

    這篇文章主要介紹了教你用JDK編譯Java文件的方法,分步驟給大家介紹了設(shè)置環(huán)境變量的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2022-01-01

最新評論

华亭县| 平乐县| 焦作市| 孟州市| 洱源县| 同江市| 阜南县| 邢台县| 简阳市| 长岛县| 广平县| 抚州市| 来安县| 宁陕县| 商都县| 横峰县| 兰坪| 湘西| 沈丘县| 共和县| 玛曲县| 仁布县| 霍山县| 逊克县| 桐城市| 遵化市| 通州市| 蒙城县| 南皮县| 潮安县| 桦南县| 益阳市| 延吉市| 汉中市| 原平市| 噶尔县| 女性| 和顺县| 乌鲁木齐市| 新郑市| 吉隆县|