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

Can we use generics for method arguments in java

我不想使用重载,而是想使用具有通用数据类型的单一方法,例如

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

有什么办法可以实现吗

您在方法中定义了类型 T

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

public void <T> someMethod (T arg)

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

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");
    }
}

输出:

hello