que tiene los siguientes métodos:Genéricos de Java: ¿Cuál es el problema del compilador aquí? ("Ninguna instancia máxima único")
public <T> T fromJson(Reader jsonData, Class<T> clazz) {
return fromJson(jsonData, (Type)clazz);
}
public <T> T fromJson(Reader jsonData, Type clazz) {
...
}
El compilador está diciendo sobre el primer método:
type parameters of <T>T cannot be determined;
no unique maximal instance exists for type variable T
with upper bounds T,java.lang.Object
return fromJson(jsonData, (Type)clazz);
^
¿Cuál es el problema?
tiene sentido, gracias – Epaga
Esta respuesta no es correcta. Aunque la implementación del segundo método es * probablemente * no segura (no podemos ver la implementación aquí), no hay nada * técnicamente * incorrecto sobre la declaración del segundo método. – newacct
Eso no es lo que dije. Mi argumento es 'Tipo' no tiene un parámetro genérico, por lo que el elenco sombrea la' T' de 'Clase' que el compilador debería usar, de ahí el error. Pero estás en lo cierto al decir que el compilador tiene el tipo 'this. '. He mejorado mi respuesta. –