泛型方法在 Java 中是什么?


和泛型类类似,您还可以在 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]

更新时间:2019-09-09

672 次浏览

启动你的 职业生涯

完成课程,获得认证

开始
广告