Вы можете аннотировать свой класс следующим образом:
я есть вопрос об 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. Я смог сделать это с помощью C #, но не могу найти обходной путь в Java без использования Reflection или instanceof и приведения типов.
Есть ли способ в Java для реализации интерфейса дескрипторов, используя оба общих интерфейса? Или, может быть, другой способ написания интерфейса Handles для достижения конечного результата?