我想创建一个具有以下方法的接口:
public interface MyInterface {
public Class<X> getClass();
public void handle(X message);
}
其中 X 在两种方法中必须是相同的类型。我需要这样做的原因是我收到的消息是需要转换为适当的类(使用 getClass)的 blob,然后我想强制实现者实现一个采用适当类的句柄方法(而不是假设有一个并使用反射来调用它)。
似乎这样做的唯一方法是向接口添加一个类型参数,如下所示:
public interface MyInterface<T> {
...
}
但这并不理想,因为级联依赖项需要在各种其他类中指定该类型。有什么建议么?谢谢!