色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

泛型的原理及使用方法

泛型的原理及使用方法?

一、什么是泛型

Java從1.5之后支持泛型,泛型的本質(zhì)是類型參數(shù),也就是說(shuō)所操作的數(shù)據(jù)類型被指定為一個(gè)參數(shù)。這種參數(shù)類型可以用在類、接口和方法的創(chuàng)建中,分別稱為泛型類、泛型接口、泛型方法。

若不支持泛型,則表現(xiàn)為支持Object,不是特定的泛型。泛型是對(duì) Java 語(yǔ)言的類型系統(tǒng)的一種擴(kuò)展,以支持創(chuàng)建可以按類型進(jìn)行參數(shù)化的類。可以把類型參數(shù)看作是使用參數(shù)化類型時(shí)指定的類型的一個(gè)占位符,就像方法的形式參數(shù)是運(yùn)行時(shí)傳遞的值的占位符一樣。許多重要的類,比如集合框架,都已經(jīng)成為泛型化的了。

二、泛型有什么優(yōu)點(diǎn)

泛型的好處是在編譯的時(shí)候檢查類型安全,并且所有的強(qiáng)制轉(zhuǎn)換都是自動(dòng)和隱式的,以提高代碼的重用率。

1、類型安全

泛型的主要目標(biāo)是提高 Java 程序的類型安全。通過(guò)知道使用泛型定義的變量的類型限制,編譯器可以在一個(gè)高得多的程度上驗(yàn)證類型假設(shè)。沒(méi)有泛型,這些假設(shè)就無(wú)法落實(shí)到代碼中,僅僅能停留在設(shè)計(jì)方案或者注釋中。

2、消除強(qiáng)制類型轉(zhuǎn)換

泛型的一個(gè)附帶好處是,消除源代碼中的許多強(qiáng)制類型轉(zhuǎn)換。這使得代碼更加可讀,并且減少了強(qiáng)制轉(zhuǎn)換代碼和出錯(cuò)機(jī)會(huì)。

3、潛在的性能收益

泛型為較大的優(yōu)化帶來(lái)可能。在泛型的初始實(shí)現(xiàn)中,編譯器將強(qiáng)制類型轉(zhuǎn)換(沒(méi)有泛型的話,程序員會(huì)指定這些強(qiáng)制類型轉(zhuǎn)換)插入生成的字節(jié)碼中。

三、泛型如何表示

我們?cè)诜盒椭惺怯玫腡,E,K,V有什么區(qū)別呢,實(shí)際上使用大寫(xiě)字母A,B,C,D......X,Y,Z定義的,就都是泛型,把T換成A也一樣,這里T只是名字上的意義而已,如:

? 表示不確定的java類型,類型是未知的。

T (type) 表示具體的一個(gè)java類型,如果要定義超過(guò)兩個(gè),三個(gè)或三個(gè)以上的泛型參數(shù)可以使用T1, T2, ..., Tn

K V (key value) 分別代表java鍵值中的Key Value

E (element) 代表Element

extends、super 泛型的參數(shù)類型可以使用extends、super語(yǔ)句,例如<T extends superclass>。習(xí)慣上稱為“有界類型”。

四、泛型的原理

泛型是一種語(yǔ)法糖,泛型這種語(yǔ)法糖的基本原理是類型擦除,即編譯器會(huì)在編譯期間「擦除」泛型語(yǔ)法并相應(yīng)的做出一些類型轉(zhuǎn)換動(dòng)作

java中的泛型類,泛型的原理及使用方法