【发布时间】:2017-03-09 12:22:18
【问题描述】:
我不想使用重载,而是使用具有通用数据类型的单一方法,例如,
public void setValues(T key, T value){
if(key instanceof Integer){
//code
}elseif(key instanceof String){
//code
}else{
//code
}
}
有什么办法可以做到这一点。
【问题讨论】:
-
你可以,但你没看到你的方法变得多么丑陋吗?
-
这里不需要泛型,使用
Object作为参数即可。 -
您可以但需要将该方法声明为泛型:
public <T> void setValues(T key, T value)。但我同意以前的评论者:在你描述的情况下这是不合理的。 -
@Kayaman 对于不同的数据类型,我们有多种具有相同功能的方法,这就是我在单一方法中协作它的原因。
-
@JornVernee 是的,我本可以使用 Object,但想让它通用
标签: java generics overloading