我们可以在java中使用泛型用于方法参数

时间:2017-03-09 12:22:18

标签: java generics overloading

我想使用带有泛型数据类型的单一方法,而不是使用重载,

public void setValues(T key, T value){
    if(key instanceof Integer){
        //code
    }elseif(key instanceof String){
       //code
    }else{
     //code
    }
}

有没有办法实现这一目标。

2 个答案:

答案 0 :(得分:1)

根据您的问题,我写了一个小应用程序。它编译,运行并产生预期的输出,但我完全不知道它是如何工作的:

public class Ff {
    public static <T> void setValue(T key, T value)
    {
        key=value;
        System.out.println(key);
    }
    public static void main(String[] args) {
        setValue(1L,"hello");
    }
}

输出:

  

您好

答案 1 :(得分:0)

您可以在方法中定义类型T

所以你想要通用的任何方法都有这样的签名

public void <T> someMethod (T arg)