具有通用参数的重载方法

时间:2018-11-30 13:11:06

标签: java generics overloading

我有返回通用参数的方法。 例如

public E doSmth(E item){
return item;
}

是否有创建相同方法get的方法,但仅适用于像这样的字符串

public String doSmth(String item){
return item + item;
}

因此,如果我传递String,它将与String一起使用,但是如果传递其他任何事物,则它将使用泛型执行基本方法。我可以以某种方式正确地做到“类中的两个相同方法”吗?

1 个答案:

答案 0 :(得分:1)

这应该正常吗? Java将始终尝试调用具有您在调用中输入的参数的最精细类型的方法

public <E> E doSmth(E item){
  return item;
}


public String doSmth(String item){
 return item + item;
}