0
@Override
public <E extends Enum<E>> E getValue(){
return (E) super.getValue();
}
爲什麼這個重寫不起作用? Idea返回的錯誤是兩種方法都有相同的擦除,但它們並不互相覆蓋。不能覆蓋Vaadin ComboBox的getValue()方法
編輯:
不能重載一種方法,其中每個重載刪除的形式參數類型,以相同的原始類型
一個類不能有兩個重載的方法類型擦除後,將具有相同的簽名。
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