我们可以在 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
我不想使用重载,而是想使用具有通用数据类型的单一方法,例如
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