Java 中的泛型方法是什么?
java 8object oriented programmingprogramming更新于 2025/11/7 20:28:17
与泛型类类似,您也可以在 Java 中定义泛型方法。这些方法使用自己的类型参数。与局部变量一样,方法的类型参数的作用域位于方法内部。
定义泛型方法时,需要在尖括号 (< T >) 中指定类型参数。该尖括号应位于方法的返回类型之前。
您可以有多个类型参数,用逗号分隔。类型参数(也称为类型变量)是指定泛型类型名称的标识符。
类型参数可用于声明返回类型,并充当传递给泛型方法的参数类型的占位符,这些参数称为实际类型参数。
示例1
public class GenericMethod {
<T>void sampleMethod(T[] array) {
for(int i=0; i<array.length; i++) {
System.out.println(array[i]);
}
}
public static void main(String args[]) {
GenericMethod obj = new GenericMethod();
Integer intArray[] = {45, 26, 89, 96};
obj.sampleMethod(intArray);
String stringArray[] = {"Krishna", "Raju", "Seema", "Geeta"};
obj.sampleMethod(stringArray);
}
}
输出
45 26 89 96 Krishna Raju Seema Geeta
示例2
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class GenericMethodExample {
public static <T> void arrayToCollection(T[] array, Collection<T> coll ) {
for(int i=0; i<array.length; i++) {
coll.add(array[i]);
}
System.out.println(coll);
}
public static void main(String args[]) {
Integer [] intArray = {24, 56, 89, 75, 36};
ArrayList<Integer> al1 = new ArrayList<Integer>();
arrayToCollection(intArray, al1);
String [] stringArray = {"Ramu", "Raju", "Rajesh", "Ravi", "Roshan"};
ArrayList<String> al2 = new ArrayList<String>();
arrayToCollection(stringArray, al2);
}
}
输出
[24, 56, 89, 75, 36] [Ramu, Raju, Rajesh, Ravi, Roshan]

