泛型变量在方法参数中的应用可以提高代码的复用性和类型安全。泛型允许你在编写方法时定义一个或多个类型参数,这些类型参数在方法体内可以像普通类型一样使用。当调用方法时,可以为这些类型参数指定具体的类型。
以下是一个简单的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
,没有任何类型限制,因此可以接受任何类型的列表。
当我们调用这些方法时,编译器会根据传递的参数类型自动推断泛型参数的具体类型。这样,我们可以使用相同的方法处理不同类型的列表,提高了代码的复用性。