¿Por qué no se sobrecarga con un diferente tipo genérico como parámetro permitido?

Marvin:

¿Por qué no se sobrecarga con un diferente tipo genérico como parámetro permitido en Java?

Por ejemplo,

private static String convertListToString(List<Character> list)

y

private static String convertListToString(List<String> list) {

provoca un error. ¿Por qué Java hace esto y hay alguna soluciones seguras y populares?

Relacionado

Es exactamente lo que necesito, pero en un idioma diferente - La sobrecarga de un método que toma una lista genérica con diferentes tipos como parámetro

Zack R:

Como @Themelis indicó, no se puede hacer eso, ya que son fundamentalmente los mismos parámetros. Sin embargo, puede evitar esto mediante la utilización de los medicamentos genéricos, así:

private static <T> String convertListToString(List<T> list) {
    // Your code here.
}

En el interior del cuerpo del método, usted podría a continuación, recorrer y llame al método toString de los genéricos.

String s = "";

for (int i = 0; i < list.size(); i++) {
    s += list.get(i).toString();
}

return s;

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=334815&siteId=1
Recomendado
Clasificación