@Override
public <E extends Enum<E>> E getValue(){
return (E) super.getValue();
}
为什么这个压倒一切不起作用? Idea返回的错误是两个方法都有相同的擦除但它们没有相互覆盖。
修改
无法重载每个重载的形式参数类型擦除到相同原始类型的方法
一个类不能有两个在类型擦除后具有相同签名的重载方法。
public class Example {
public void print(Set<String> strSet) { }
public void print(Set<Integer> intSet) { }
}
重载将共享相同的类文件表示,并将生成编译时错误。
来源:https://docs.oracle.com/javase/tutorial/java/generics/restrictions.html#cannotOverload