1.在集合中不使用泛型
public static void main(string args)
}2.在集合中使用了泛型
public void test2()
iteratorit = list.iterator();
while (it.hasnext()) }}
3.自定義泛型類:最常用的就是通用dao
public class dao
public t get(int index)
public listgetforlist(int index)
public void delete(int index)
}public class customerdao extends dao
public class testcustomerdao
}注意:
1.物件例項化時不指定泛型,預設為:object。
2.泛型不同的引用不能相互賦值。
3.加入集合中的物件型別必須與指定的泛型型別一致。
4.靜態方法中不能使用類的泛型。
5.如果泛型類是乙個介面或抽象類,則不可建立泛型類的物件。
6.不能在catch中使用泛型
7.從泛型類派生子類,泛型型別需具體化
4.泛型與繼承的關係
a類是b類的子類,g是帶泛型宣告的類或介面。那麼g不是g的子類!
5.萬用字元:?
a類是b類的子類,g是帶泛型宣告的類或介面。則g<?> 是g、g的父類!
①以list<?>為例,能讀取其中的資料。因為不管儲存的是什麼型別的元素,其一定是object類的或其子類的。
①以list<?>為例,不可以向其中寫入資料。因為沒有指明可以存放到其中的元素的型別!唯一例外的是:null
6*. list<? extends a> :可以將list的物件或list的物件賦給list<? extends a>。其中b 是a的子類
? super a:可以將list的物件或list的物件賦給list<? extends a>。其中b 是a的父類
JAVA中的泛型
1 泛型的基本作用 有時候建立乙個類,需要這個類中的屬性是object型別的,可以時而為string型別,時而為long型別等。比如乙個座標類point,橫座標和縱座標可能是整型,可能是浮點型,也可能是字串型別,需要輸出的結果如下 如下 package org.mole.t public class...
Java中的泛型
我們在定義的時候 就會確定資料型別 而泛型 就是是資料型別引數化 集合框架中沒有使用泛型和使用泛型的比較 沒有使用泛型 list li new linkedlist li.add 100 int x int li.get 0 system.out.println x 使用泛型 listli new ...
java中的泛型
如果乙個類裡只接受整數型別,那麼無法加入浮點型別 如果用object類物件取代整數型別,那麼編譯器就要正常判斷當前物件實際是哪一種型別,這會很浪費時間。如果用某個未指定的型別t取代整數型別,實際使用時再加入具體型別,那麼就可以處理多種型別的物件。例如 public class store publi...