泛型筆記
jdk5引入了泛型概念,可以使型別引數化。
定義乙個泛型類:
定義乙個泛型類,使用這個類的時候,就像使用list介面一樣去例項化相應引數的物件就可以。
例如:public class
fanxing<
t>
public void
setname(
t name)
public static void
main(string args) }
定義乙個泛型方法:
public class
fanmethod
public static void
main(string args)}
泛型的其他用法:
定義泛型類時宣告多個型別
class method1
class method
定義泛型陣列
public class
fanxing<
t>
集合類宣告容器的元素
public class
mapegv>
//容器中新增元素
public void
setm(mapv> m) }
泛型高階用法:
引數型別的限定
如果限制只有特定某些類可以傳入
t引數,那麼可以對
t進行限定,
如:只有實現了特定介面的類:
,表示的是comparable及其子型別。
//限定了傳入引數的型別,同時也可以訪問型別的方法
//也可以指定多個限制型別::。
public class
limitclass <
textends
list>
public void
setname(
t name)
public static void
main(string args)}
泛型的約束和限制
原因在於型別擦除,object不能儲存基本型別:
byte,char,short,int,long,float,double,boolean
從包裝類角度來看,或者說三個:
number(byte,short,int,long,float,double),char,boolean
此處主要是包含 ?extends t 和 ?super t兩個關鍵點,我們來通過一段**說明
public class persontest
}
Java 泛型總結
泛型指引數化型別的能力,可以定義帶泛型型別的類或方法,隨後編譯器會用具體的型別來替換它。在泛型產生之前,像集合的訪問都是靠強制型別轉換 public class arraylist public void add object o string filename string names.get 0...
Java泛型總結
1 泛型主要是用來年解決資料型別安全的問題,用標識來代替屬性的型別或者返回值的型別 2 在使用泛型的時候可以有以下幾種形式 泛型介面 泛型類 萬用字元做泛型引數 泛型方法 泛型陣列 3 以下通過 說明 package com.sun.demo 一 定義泛型介面 inte ce father 二 定義...
java泛型總結
1.概念 泛型實現了引數化型別的概念,其最初的目的是希望類或方法能夠具備最廣泛的表達能力。通俗來說就是為了避免轉換出錯,限制資料型別。通過解耦類或者方法與所使用的型別之間的約束。list thelist1 new arraylist arrays.aslist 1,2,3,string for ob...