泛型變量在方法參數中的應用可以提高代碼的復用性和類型安全。泛型允許你在編寫方法時定義一個或多個類型參數,這些類型參數在方法體內可以像普通類型一樣使用。當調用方法時,可以為這些類型參數指定具體的類型。
以下是一個簡單的Java示例,展示了如何在方法參數中使用泛型變量:
public class GenericExample {
public static void main(String[] args) {
List<Integer> intList = Arrays.asList(1, 2, 3);
List<String> strList = Arrays.asList("A", "B", "C");
System.out.println("Sum of integers: " + sumOfList(intList));
System.out.println("Concatenated strings: " + concatenateList(strList));
}
// 使用泛型方法計算整數列表的和
public static <T extends Number> double sumOfList(List<T> list) {
double sum = 0;
for (T item : list) {
sum += item.doubleValue();
}
return sum;
}
// 使用泛型方法連接字符串列表
public static <T> String concatenateList(List<T> list) {
StringBuilder sb = new StringBuilder();
for (T item : list) {
sb.append(item);
}
return sb.toString();
}
}
在這個示例中,我們定義了兩個泛型方法:sumOfList
和 concatenateList
。sumOfList
方法接受一個泛型參數 T
,它是 Number
類型的子類。這允許我們將 Integer
、Double
等數值類型的列表傳遞給該方法。concatenateList
方法接受一個泛型參數 T
,沒有任何類型限制,因此可以接受任何類型的列表。
當我們調用這些方法時,編譯器會根據傳遞的參數類型自動推斷泛型參數的具體類型。這樣,我們可以使用相同的方法處理不同類型的列表,提高了代碼的復用性。