一.java泛型是什么
Java 泛型(Generic)是 Java 5 中引入的一種特性,它允許類、接口和方法在定義時使用一個或多個類型參數,這些類型參數在調用時會被實際類型替換,從而增強了代碼的重用性和類型安全性。通過使用泛型,我們可以編寫出更加通用的代碼,同時也可以減少代碼中的強制類型轉換操作,提高代碼的可讀性和可維護性。
在 Java 泛型中,我們可以使用以下符號來定義泛型:
<T>:表示定義一個類型參數 T,可以是任何標識符,通常用大寫字母表示,例如 List。
<E>:表示定義一個元素類型參數 E,通常用于集合類中,例如 List。
<K, V>:表示定義一個鍵值對類型參數 K 和 V,通常用于 Map 類中,例如 Map<K, V>。
在使用泛型時,可以將實際類型作為參數傳遞給泛型,例如 List,這樣就可以創建一個只能存儲 String 類型元素的列表。泛型在 Java 中的實現方式是使用類型擦除技術,即在編譯時將泛型類型轉換為原始類型,從而避免了類型檢查的開銷和運行時的類型轉換。
二.普通的泛型類
class Person<T> {private T age;public void setAge(T age) {this.age = age;}public T getAge() {return this.age;}
}public class Generics {public static void main(String args[]) {Person<String> p = new Person<String>();p.setAge("3 years old");System.out.println(p.getAge());Person<Integer> p2 = new Person<Integer>();p2.setAge(3);System.out.println(p2.getAge());}
}
運行結果:
root@ubuntu:/home/topeet/guyilian# javac Generics.java
root@ubuntu:/home/topeet/guyilian# java Generics
3 years old
3
?