java 方法泛型_Java基础学习,什么是泛型概念,使用泛型有哪些好处?
一般的類和方法,只能使用具體的類型,要么是基礎數據類型,要么是自定義類。
如果要編寫可以應用與多種類型的代碼,這種刻板的限制對代碼的束縛就會很大。
泛型的字面概念:
適合用于許多類型。
在面向對象中,多態算是一種泛化機制。
泛型的使用例子:
在如圖的例子中T就是類型參數
當你創建Holder對象時,必須指明想持有什么類型的對象,將其置于尖括號內,就像main()中那樣。然后,你就只能在Holder中存入該類型(或其子類,以為多態與泛型不沖突)的對象了。并且,在你從Holder中取出它持有的對象時,自動地就是正確的類型。
java泛型核心概念:
告訴編譯器想要什么類型,讓后編譯器幫你處理一切細節。
一般而言,你可以認為泛型與其他的類型差不多,只不過他們碰巧有參數罷了。
Java泛型中的標記符含義:
E - Element (在集合中使用,因為集合中存放的是元素)
T - Type(Java 類)
K - Key(鍵)
V - Value(值)
N - Number(數值類型)
? - 表示不確定的java類型
S、U、V - 2nd、3rd、4th types
使用泛型遇到的問題
1.任何基礎數據類型都不能作為類型參數:
學習泛型你會發現,Java泛型的限制之一,不能間基礎數據類型用作類型參數。
2.事項參數化接口:
一個類不能同時實現同一個泛型接口的兩種變體,由于擦除的原因,這兩個變體會成為相同的接口。
3.轉型和警告
使用帶有泛型類型參數的轉型或instanceof不會有任何效果。
4.重載
有與擦除的原因,重載方法將產生相同的類型簽名。
5.基類劫持了接口
Java中使用泛型最吸引人的地方就是在容器類中,包括List,各種Set,各種Map。
泛型優點:
當一個對象被放置在容器中時,這個對象會北向上轉型為Object,因此你會丟失類型信息。java如果類型放置錯誤導致取出的時候會進行強制類型轉換,會得到一個RuntimeException,雖然你能發現問題,當時是在運行時發現的而非在編譯發現它的。引入泛型并不會讓你誤用放入容器中的對象。
大家來和我一起學JAVA吧,本篇介紹JAVA泛型主要特性。接下來會繼續總結JAVA相關技術,求圍觀!可惜平臺不適合寫代碼,手機看會比較亂。
下一章預告:LinkedList
總結
以上是生活随笔為你收集整理的java 方法泛型_Java基础学习,什么是泛型概念,使用泛型有哪些好处?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# excel导出png_C#与Hal
- 下一篇: java中的集合_Java中集合中的基本