次のメソッドを持つインターフェイスを作成したいと思います。
public interface MyInterface {
public Class<X> getClass();
public void handle(X message);
}
X は両方のメソッドで同じ型でなければなりません。これを行う必要がある理由は、(getClass を使用して) 適切なクラスにキャストする必要があるブロブであるメッセージを取得しており、実装者に適切なクラスを取るハンドル メソッドを実装するように強制したいからです (代わりにあると仮定し、リフレクションを使用してそれを呼び出す方法)。
これを行う唯一の方法は、次のように型パラメーターをインターフェイスに追加することです。
public interface MyInterface<T> {
...
}
しかし、他のさまざまなクラスでその型を指定する必要があるカスケード依存関係があるため、これは理想的とは言えません。助言がありますか?ありがとう!