一.泛型約束:
1.where t:類;t為引用型別.
2.where t:結構;t為值型別.
3.where t:《基型別》;t為制定基類或派生自指定基類.
4.where t:new();t必須有乙個無引數的建構函式. 這樣就可以再泛型中執行:t=new t();
5.where t:《介面名稱》;t必須是自定介面或實現指定介面
泛型可有多個where約束。若泛型t的約束條件為為另乙個泛型k,則泛型t的約束條件包含泛型k的約束條件。
二.泛型內方法若為泛型,方法不能與泛型類使用同乙個泛型約束引數。例如:
public class test
/*錯誤寫法
public void testmothod() */}
三.因為不能確定泛型t為值型別還是引用型別,所以不能使用new t();
/*錯誤寫法
public class test}*/
default(t):指定型別引數的預設值,若t為引用型別則返回null,值型別則返回0;
Java泛型學習總結
一 泛型設計的初衷 泛型程式的設計方便讓相同的 邏輯被許多不同型別的物件所重用。二 定義泛型介面 類 public class pair public void setk k k public v getv public void setv v v 二 定義泛型方法 public t getvalu...
9 20 泛型學習總結
泛型就是引數化型別,將類作為引數傳遞。泛型引數可以有多個。泛型的幾種用法 一 類泛型。舉個例子 class student public student t1 var1,t2 var2 public t1 getvar1 public void setvar1 t1 var1 public t2 g...
學習泛型的方法總結
public class genericfoo get genericfoofoo1 new genericfoo genericfoofoo2 new genericfoo public class generic get genericfoo new generic public class g...