您好,登錄后才能下訂單哦!
小編給大家分享一下Java7中菱形語法與泛型構造器的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
具體如下:
一 實戰——泛型構造器
1 代碼
class Foo { public <T> Foo(T t) { System.out.println(t); } } public class GenericConstructor { public static void main(String[] args) { // 泛型構造器中的T參數為String。 new Foo("瘋狂Java講義"); // 泛型構造器中的T參數為Integer。 new Foo(200); // 顯式指定泛型構造器中的T參數為String, // 傳給Foo構造器的實參也是String對象,完全正確。 new <String> Foo("瘋狂Android講義"); // 顯式指定泛型構造器中的T參數為String, // 但傳給Foo構造器的實參是Double對象,下面代碼出錯 //new <String> Foo(12.3); } }
2 運行
瘋狂Java講義
200
瘋狂Android講義
二 實戰——泛型構造器和菱形語法混用
1 代碼
class MyClass<E> { public <T> MyClass(T t) { System.out.println("t參數的值為:" + 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參數的值為:5
t參數的值為:5
3 說明
如果程序顯示指定了泛型構造器中聲明的形參的實際類型,則不可以使用菱形語法。
以上是“Java7中菱形語法與泛型構造器的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。