Java泛型是Java5以后提出的語言特性,其主要作用是實現類、接口和方法的參數化。使用泛型可以在編譯期間有效地檢查程序的類型安全性,避免類型轉換錯誤和編譯期錯誤的發生。
//泛型示例代碼 public class GenericClass{ private T t; public void set(T t){ this.t = t; } public T get(){ return t; } } GenericClass generic = new GenericClass (); generic.set("Hello World"); String s = generic.get(); //無需強制類型轉換
泛型的語法比較簡單,使用尖括號<>來表示泛型類型參數,可以在類、接口和方法上定義泛型類型參數,并在實例化時指定具體的類型。
同時,也可以使用通配符來限制泛型類型參數的類型范圍,使用 extends T>表示類型參數是T的子類,使用 super T>表示類型參數是T的父類。
//泛型通配符示例代碼 List extends Number>list1 = new ArrayList(); //Integer是Number的子類 List super Integer>list2 = new ArrayList (); //Number是Integer的父類
泛型可以提高代碼的可讀性和可維護性,減少類型轉換和錯誤的發生,提高代碼的健壯性。
需要注意的是,泛型只是在編譯期間有效,在運行期間會被類型擦除,即泛型類型參數會被替換為其上限或下限的類型。