与泛型类相似,您也可以在Java中定义泛型方法。这些方法使用它们自己的类型参数。与局部变量一样,方法的类型参数的范围也位于方法内。
在定义泛型方法时,您需要在尖括号(<T>)中指定类型参数。应将其放置在方法的返回类型之前。
您可以使用逗号分隔多个类型参数。类型参数,也称为类型变量,是指定泛型类型名称的标识符。
类型参数可用于声明返回类型,并用作传递给泛型方法的参数类型的占位符,这些参数称为实际类型参数。
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
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]