Вы можете аннотировать свой класс следующим образом:

я есть вопрос об 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 для достижения конечного результата?

Ответы на вопрос(7)

Ваш ответ на вопрос