Java 7菱形語法與泛型構(gòu)造器實(shí)例分析
本文實(shí)例講述了Java 7菱形語法與泛型構(gòu)造器。分享給大家供大家參考,具體如下:
一 實(shí)戰(zhàn)——泛型構(gòu)造器
1 代碼
class Foo { public <T> Foo(T t) { System.out.println(t); } } public class GenericConstructor { public static void main(String[] args) { // 泛型構(gòu)造器中的T參數(shù)為String。 new Foo("瘋狂Java講義"); // 泛型構(gòu)造器中的T參數(shù)為Integer。 new Foo(200); // 顯式指定泛型構(gòu)造器中的T參數(shù)為String, // 傳給Foo構(gòu)造器的實(shí)參也是String對象,完全正確。 new <String> Foo("瘋狂Android講義"); // 顯式指定泛型構(gòu)造器中的T參數(shù)為String, // 但傳給Foo構(gòu)造器的實(shí)參是Double對象,下面代碼出錯(cuò) //new <String> Foo(12.3); } }
2 運(yùn)行
瘋狂Java講義
200
瘋狂Android講義
二 實(shí)戰(zhàn)——泛型構(gòu)造器和菱形語法混用
1 代碼
class MyClass<E> { public <T> MyClass(T t) { System.out.println("t參數(shù)的值為:" + t); } } public class GenericDiamondTest { public static void main(String[] args) { // MyClass類聲明中的E形參是String類型。 // 泛型構(gòu)造器中聲明的T形參是Integer類型 MyClass<String> mc1 = new MyClass<>(5); // 顯式指定泛型構(gòu)造器中聲明的T形參是Integer類型, MyClass<String> mc2 = new <Integer> MyClass<String>(5); // MyClass類聲明中的E形參是String類型。 // 如果顯式指定泛型構(gòu)造器中聲明的T形參是Integer類型 // 此時(shí)就不能使用"菱形"語法,下面代碼是錯(cuò)的。 // MyClass<String> mc3 = new <Integer> MyClass<>(5); } }
2 運(yùn)行
t參數(shù)的值為:5
t參數(shù)的值為:5
3 說明
如果程序顯示指定了泛型構(gòu)造器中聲明的形參的實(shí)際類型,則不可以使用菱形語法。
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
不調(diào)用方法實(shí)現(xiàn)hutool導(dǎo)出excel圖片示例詳解
這篇文章主要為大家介紹了不調(diào)用方法實(shí)現(xiàn)hutool導(dǎo)出excel圖片示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08基于springboot實(shí)現(xiàn)redis分布式鎖的方法
這篇文章主要介紹了基于springboot實(shí)現(xiàn)redis分布式鎖的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Java 實(shí)戰(zhàn)項(xiàng)目之誠途旅游系統(tǒng)的實(shí)現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SpringBoot+Vue+maven+Mysql實(shí)現(xiàn)一個(gè)精美的物流管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11SpringBoot3集成ElasticSearch的方法詳解
Elasticsearch是一個(gè)分布式、RESTful風(fēng)格的搜索和數(shù)據(jù)分析引擎,適用于各種數(shù)據(jù)類型,數(shù)字、文本、地理位置、結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù),本文給大家詳解介紹了SpringBoot3集成ElasticSearch的方法,需要的朋友可以參考下2023-08-08java阻塞隊(duì)列實(shí)現(xiàn)原理及實(shí)例解析
這篇文章主要介紹了java阻塞隊(duì)列實(shí)現(xiàn)原理及實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11java使用EasyExcel實(shí)現(xiàn)合并單元格
這篇文章主要為大家詳細(xì)介紹了java使用EasyExcel實(shí)現(xiàn)合并單元格的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12