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