如何在java中使用泛型的动态类型参数方法?

时间:2017-05-27 02:15:29

标签: java generics

我正在尝试编写一个方法(使用泛型),它接受两个参数并交换它们,但参数可以是任何类型 - int,char,float,String等。以下是我的代码 -

public class SwapTest<K> {

  private static void swap(K k, K v) {
    K p;

    System.out.println("Before swap: a = " + k + " b = " + v);

    p = k;
    k = v;
    v = p;

    System.out.println("After swap: a = " + k + " b = " + v);
  } 

  public static void main(String[] args) {   
    swap(20.5, 30.3);
    swap(10,  25);
    swap("abc", "xyz");
  }

}

但是在方法定义中,它会给出错误 - 无法对非静态类型进行静态引用

我可以使用Object类实现方法定义,如 -

  private static void swap(Object k, Object v) { ...}

但我正试图通过泛型实现这一目标。怎么办呢?

0 个答案:

没有答案