Посмотрите на этот ответ. Все хорошо, кроме этого:
public <E extends Enum<E> & MyInterface> E getParametrizedEnum() {
String someString = "..."
return MyEnum.valueOf(someString); //compile error here
}
Идея Intellij говорит мне: «Требуется E, найден com.mypackage.MyEnum».
Должны быть брошены так:
public <E extends Enum<E> & MyInterface> E getParametrizedEnum() {
String someString = "..."
return (E) MyEnum.valueOf(someString); //compile error here
}
Есть ли способ вернуть параметризованное перечисление с интерфейсом без приведения?
MyEnum
- person Henry   schedule 04.02.2016MyEnum
не реализуетMyInterface
. Но если это так, почему бы просто не использоватьMyEnum
в качестве возвращаемого типа? Или вы можете вернуть разные типы перечислений? - person shmosel   schedule 04.02.2016java.awt.Point p = getParametrizedEnum();
см. stackoverflow.com/q/338887/3385618 - person Bewusstsein   schedule 04.02.2016