Java泛型:要求泛型成为某种类型的子类

use*_*041 5 java generics

我有一个抽象的泛型类:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要通用子类是这个类的子类.换句话说,泛型必须是AbstractMessageHandler的子类.然而,这给了我编译问题.谁能让我知道我做错了什么?

谢谢

jta*_*orn 8

您需要遵循Enum类的示例:

public abstract class AbstractMessageHandler<T extends AbstractMessageHandler<T>>
Run Code Online (Sandbox Code Playgroud)