Так у меня есть куча перечислений том, что все расширения интерфейса:Java: Как написать универсальную функцию, которая принимает константы Enum, реализующие данный интерфейс?
public interface MyInterface {}
Я тогда несколько перечислений, которые расширяют интерфейс:
public enum A implements MyInterface {}
public enum B implements MyInterface {}
Я хочу функцию, которая будет принимать только перечисления о том, расширяющих этот интерфейс. Я не могу сделать:
public void MyFunction(MyInterface input)
потому, что внутри функции, я создать EnumSet используя EnumSet.of (вход). Я cannod сделать
public <T extends Enum<T>> void myFunction(T input)
потому, что внутри функции, мне нужно, чтобы создать карту, которая должна быть передана в другую функцию. Итак, есть ли безопасный способ без этого?
Редактировать: Исправлены определения интерфейсов.
Это должно быть 'enum A реализует MyInterface' –