Java 5 版本引入了泛型,使得可以使編寫更加健壯的代碼,同時(shí)也可以提高代碼的可讀性和復(fù)用性。Java 泛型通過(guò)使用類型參數(shù)來(lái)完成泛型操作。對(duì)于有些需要多次使用的類型,例如 List 和 Map,我們可以創(chuàng)建一個(gè)泛型類或泛型方法,使得類型參數(shù)成為類或方法的一部分。
public class Box<T> { private T t; public void set(T t) { this.t = t; } public T get() { return t; } }
在泛型類中,使用<T>來(lái)聲明類型參數(shù),T 可以是任意標(biāo)識(shí)符,通常使用大寫字母。在類中可以使用泛型類型參數(shù) T 來(lái)定義屬性,方法和構(gòu)造函數(shù)。
泛型類的實(shí)例化時(shí)需要指定類型參數(shù),例如:
Box<Integer> box1 = new Box<>(); Box<String> box2 = new Box<>();
通過(guò)這種方式,我們可以創(chuàng)建具有不同類型參數(shù)的多個(gè) Box 實(shí)例。
當(dāng)我們需要遍歷一個(gè)泛型集合時(shí),可以使用增強(qiáng)的 for 循環(huán)。
List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("orange"); for (String fruit : list) { System.out.println(fruit); }
在這個(gè)例子中,我們創(chuàng)建了一個(gè) String 類型的 List,添加了三個(gè)元素。在 for 循環(huán)中我們使用了增強(qiáng)的 for 循環(huán)語(yǔ)法,可以輕松地遍歷這個(gè)列表的所有元素。