我有一个 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 实现 Handles 两次。我能够用 C# 完成此任务,但如果不使用反射或 instanceof 和强制转换,我无法在 java 中找到解决方法。
java中有没有办法使用两个通用接口来实现Handles接口?或者也许是另一种编写 Handles 接口的方式,以便可以完成最终结果?