Это проблема:
@Override
public <String> void sets(String value) {
^^^^^^
e=value;
}
Здесь String
- это переменная типа (переопределение V
), а не java.lang.String
.И я не думаю, что вы можете это исправить, не изменив свой дизайн:
public interface Node<V> {
public V get();
public void sets(V value);
}
И в случае, если вы хотите, чтобы ваш enum был общим: это невозможно.Различные элементы перечисления не могут реализовать один и тот же интерфейс с разными общими параметрами.