黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java方法泛型之泛型類、泛型接口和泛型方法

Java方法泛型之泛型類、泛型接口和泛型方法

更新時(shí)間:2020-06-01 16:24:48 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2987次

泛型出現(xiàn)的動(dòng)機(jī)在于:

有許多原因促成了泛型的出現(xiàn),而最引人注意的一個(gè)原因,就是為了創(chuàng)建容器類。

Java方法泛型之泛型類、泛型接口和泛型方法

泛型類

容器類應(yīng)該算得上最具重用性的類庫(kù)之一。先來看一個(gè)沒有泛型的情況下的容器類如何定義:

public class Container{private String key;private String value;public Container(String k,String v){

Container類保存了一對(duì)key-value鍵值對(duì),但是類型是定死的,也就說如果我想要?jiǎng)?chuàng)建一個(gè)鍵值對(duì)是String-Integer類型的,當(dāng)前這個(gè)Container是做不到的,必須再自定義。那么這明顯重用性就非常低。

當(dāng)然,我可以用Object來代替String,并且在Java SE5之前,我們也只能這么做,由于Object是所有類型的基類,所以可以直接轉(zhuǎn)型。但是這樣靈活性還是不夠,因?yàn)檫€是指定類型了,只不過這次指定的類型層級(jí)更高而已,有沒有可能不指定類型?有沒有可能在運(yùn)行時(shí)才知道具體的類型是什么?

所以,就出現(xiàn)了泛型。

public class Container<K,V>{private K key;private V value;public Container(K k,V v){

在編譯期,是無法知道K和V具體是什么類型,只有在運(yùn)行時(shí)才會(huì)真正根據(jù)類型來構(gòu)造和分配內(nèi)存。如果你想學(xué)習(xí)Java可以來這個(gè)群,首先是五三二,中間是二五九,最后是九五二,里面有大量的學(xué)習(xí)資料可以下載。可以看一下現(xiàn)在Container類對(duì)于不同類型的支持情況:

public class Main{public static void main(String[]args){
輸出:
name:findingsea

泛型接口

在泛型接口中,生成器是一個(gè)很好的理解,看如下的生成器接口定義:

public interface Generator<T>{public T next();

然后定義一個(gè)生成器類來實(shí)現(xiàn)這個(gè)接口:

public class FruitGenerator implements Generator<String>{

調(diào)用:

public class Main{public static void main(String[]args){

輸出:

Banana

泛型方法

一個(gè)基本的原則是:無論何時(shí),只要你能做到,你就應(yīng)該盡量使用泛型方法。也就是說,如果使用泛型方法可以取代將整個(gè)類泛化,那么應(yīng)該有限采用泛型方法。下面來看一個(gè)簡(jiǎn)單的泛型方法的定義:

public class Main{public static<T>void out(T t){

可以看到方法的參數(shù)徹底泛化了,這個(gè)過程涉及到編譯器的類型推導(dǎo)和自動(dòng)打包,也就說原來需要我們自己對(duì)類型進(jìn)行的判斷和處理,現(xiàn)在編譯器幫我們做了。這樣在定義方法的時(shí)候不必考慮以后到底需要處理哪些類型的參數(shù),大大增加了編程的靈活性。

再看一個(gè)泛型方法和可變參數(shù)的例子:

public class Main{public static<T>void out(T...args){for(T t:args){

輸出和前一段代碼相同,可以看到泛型可以和可變參數(shù)非常完美的結(jié)合。

Java方法泛型之泛型類、泛型接口和泛型方法

Java相關(guān)技術(shù)內(nèi)容

Java泛型詳解:http://www.ilovecolors.com.cn/tutorial_java_advance/645.html

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java方法泛型之泛型類、泛型接口和泛型方法”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美日韩国产人成在线观看 | 成人网18免费网站在线 | 黄色樱桃试色免费 | 2019中文字幕视频 | 91在线精品亚洲一区二区 | www.五月天激情 | 久久成年人视频 | 日韩新片在线观看 | 性欧美free荷兰hd | www.天天色 | 国产高清不卡视频 | avav在线看 | 成人免费视频网址 | 国产成人精品免费大全 | 久久笫一福利免费导航 | 欧美国产丝袜日韩精品 | 国产精品欧美在线观看 | 五月天婷婷免费视频 | 最近2019免费中文字幕视频三 | 日批软件在线观看 | 亚洲精品在线影院 | 色黄啪啪18周岁以下禁止观看 | 免费一看一级毛片人 | 一区福利视频 | 在线看毛片网站 | 久久久久国产一级毛片高清版 | 亚洲欧美日韩综合精品网 | 国产黄a三级三级看三级 | 日本一区二区三区久久精品 | 成人网中文字幕色 | 三级黄色片在线观看 | 你懂的 在线播放 | 老妇女毛片 | 在线观看国产剧情麻豆精品 | 国产日韩欧美在线观看 | 成年男女免费视频 | 国产精品久久久久久影视 | 日本又色又爽又黄的大片 | 波多野结衣一级视频 | 激情综合网站 | 欧美高清videosex极品 |