泛型變量在方法參數(shù)中的應(yīng)用可以提高代碼的復(fù)用性和類型安全。泛型允許你在編寫方法時(shí)定義一個(gè)或多個(gè)類型參數(shù),這些類型參數(shù)在方法體內(nèi)可以像普通類型一樣使用。當(dāng)調(diào)用方法時(shí),可以為這些類型參數(shù)指定具體的類型。
以下是一個(gè)簡(jiǎn)單的Java示例,展示了如何在方法參數(shù)中使用泛型變量:
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));
}
// 使用泛型方法計(jì)算整數(shù)列表的和
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();
}
}
在這個(gè)示例中,我們定義了兩個(gè)泛型方法:sumOfList
和 concatenateList
。sumOfList
方法接受一個(gè)泛型參數(shù) T
,它是 Number
類型的子類。這允許我們將 Integer
、Double
等數(shù)值類型的列表傳遞給該方法。concatenateList
方法接受一個(gè)泛型參數(shù) T
,沒有任何類型限制,因此可以接受任何類型的列表。
當(dāng)我們調(diào)用這些方法時(shí),編譯器會(huì)根據(jù)傳遞的參數(shù)類型自動(dòng)推斷泛型參數(shù)的具體類型。這樣,我們可以使用相同的方法處理不同類型的列表,提高了代碼的復(fù)用性。