tengo una clase genérica:Java Genéricos: Requerir genérico para ser subclase de un cierto tipo
public abstract class AbstractMessageHandler<T extends AbstractMessageHandler>
{
public abstract List<String> getTypesOfMessages();
public abstract void handleMessage(String message, CometClient client);
public T setResponseValues(AbstractMessage request, T response)
{
response.setCompanyId(request.getCompanyId());
response.setMessageGroup(request.getMessageGroup());
response.setUserId(request.getUserId());
response.setTimeStamp(AbstractMessage.getCurrentTimeStamp());
return response;
}
}
necesito la subclase genérico para ser una subclase de esta clase. En otras palabras, el genérico debe ser una subclase de AbstractMessageHandler. Sin embargo, esto me da problemas de compilación. ¿Alguien me puede decir lo que estoy haciendo mal?
Gracias
Publique el error del compilador. Y, afortunadamente, lo único que desea es requerir que una subclase genérica, 'T', sea la de la' interfaz' que 'AbstractMessageHandler' implementa teóricamente, que me imagino que se llama' MessageHandler'. Relacionado, el 'setResponseValues' debería tener como parámetro un' Mensaje' y no 'AbstractMessage'. Estos son requisitos que limitan innecesariamente, a menos que simplemente no haya 'interfaz' que implementen. – pickypg
Sin contexto, me imagino que el AbstractMessageHandler en su restricción de tipo en sí mismo requiere un argumento de tipo. ¿Estás seguro de que este es el mejor diseño para tu problema? ¿O quisiste decir 'AbstractMessageHandler?' –