誰かが答えてくれることを望んでいたJavaジェネリックの質問があります。次のコードを検討してください。
public interface Event{}
public class AddressChanged implements Event{}
public class AddressDiscarded implements Event{}
public interface Handles<T extends Event>{
public void handle(T event);
}
この Handles インターフェイスを次のように実装したいと思います。
public class AddressHandler implements Handles<AddressChanged>, Handles<AddressDiscarded>{
public void handle(AddressChanged e){}
public void handle(AddressDiscarded e){}
}
しかし、Java では、Generic を使用してハンドルを 2 回実装することは許可されていません。私は C# でこれを達成できましたが、リフレクションまたは instanceof とキャストを使用せずに Java で回避策を見つけることはできません。
両方のジェネリック インターフェイスを使用して Handles インターフェイスを実装する Java の方法はありますか? それとも、最終結果を達成できるように Handles インターフェイスを記述する別の方法でしょうか?