Java 7菱形語法與泛型構造器實例分析
本文實例講述了Java 7菱形語法與泛型構造器。分享給大家供大家參考,具體如下:
一 實戰(zhàn)——泛型構造器
1 代碼
class Foo
{
public <T> Foo(T t)
{
System.out.println(t);
}
}
public class GenericConstructor
{
public static void main(String[] args)
{
// 泛型構造器中的T參數(shù)為String。
new Foo("瘋狂Java講義");
// 泛型構造器中的T參數(shù)為Integer。
new Foo(200);
// 顯式指定泛型構造器中的T參數(shù)為String,
// 傳給Foo構造器的實參也是String對象,完全正確。
new <String> Foo("瘋狂Android講義");
// 顯式指定泛型構造器中的T參數(shù)為String,
// 但傳給Foo構造器的實參是Double對象,下面代碼出錯
//new <String> Foo(12.3);
}
}
2 運行
瘋狂Java講義
200
瘋狂Android講義
二 實戰(zhàn)——泛型構造器和菱形語法混用
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類型。
// 泛型構造器中聲明的T形參是Integer類型
MyClass<String> mc1 = new MyClass<>(5);
// 顯式指定泛型構造器中聲明的T形參是Integer類型,
MyClass<String> mc2 = new <Integer> MyClass<String>(5);
// MyClass類聲明中的E形參是String類型。
// 如果顯式指定泛型構造器中聲明的T形參是Integer類型
// 此時就不能使用"菱形"語法,下面代碼是錯的。
// MyClass<String> mc3 = new <Integer> MyClass<>(5);
}
}
2 運行
t參數(shù)的值為:5
t參數(shù)的值為:5
3 說明
如果程序顯示指定了泛型構造器中聲明的形參的實際類型,則不可以使用菱形語法。
更多java相關內容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
IntelliJ IDEA 2020.1 EAP4 發(fā)布,重命名/更改簽名新功能一覽
這篇文章主要介紹了IntelliJ IDEA 2020.1 EAP4 發(fā)布,重命名/更改簽名新功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
java實現(xiàn)圖片上加文字水印(SpringMVC + Jsp)
這篇文章主要為大家詳細介紹了java實現(xiàn)在圖片上加文字水印的方法,水印可以是圖片或者文字,操作方便,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05
基于SpringBoot實現(xiàn)發(fā)送帶附件的郵件
這篇文章主要介紹了基于SpringBoot實現(xiàn)發(fā)送帶附件的郵件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11
SpringMvc請求處理參數(shù)?和?響應數(shù)據(jù)處理的示例詳解
這篇文章主要介紹了SpringMvc請求處理參數(shù)和響應數(shù)據(jù)處理,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09

