我有一个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);
}
Run Code Online (Sandbox Code Playgroud)
我想像这样实现这个Handles接口:
public class AddressHandler implements Handles<AddressChanged>, Handles<AddressDiscarded>{
public void handle(AddressChanged e){}
public void handle(AddressDiscarded e){}
}
Run Code Online (Sandbox Code Playgroud)
但java不允许使用Generic两次实现Handles.我能够用C#实现这一点,但是如果不使用Reflection或instanceof和cast,就无法在java中找到解决方法.
在Java中有没有办法使用两个通用接口实现Handles接口?或者也许是另一种编写Handles接口的方法,以便完成最终结果?