Java中的泛型

2021-08-19 15:26:24 字數 1036 閱讀 1867

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...