我有一条消息 dto
class MyMessage<T>{
T payload;
String groupId;
}
Run Code Online (Sandbox Code Playgroud)
我有一个具有简单实现的接口
interface Sender<T>{
void sendMessage(T message);
}
class SenderService implements Sender<MyMessage>{
@Override
public void sendMessage(MyMessage message){...}
}
Run Code Online (Sandbox Code Playgroud)
现在,MyMessage 有一个原始类型,我希望 MyMessage 有一个类型参数,它将动态定义我的有效负载。如何实现?我已经尝试过以下方法。
class SenderService implements Sender<MyMessage>{
@Override
public <E> void sendMessage(MyMessage<E> message){...}
}
Run Code Online (Sandbox Code Playgroud)
但它会给出编译错误,因为该方法没有正确覆盖。我需要对抽象接口方法进行哪些更改才能使其正常工作?