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