我想解決與動態枚舉查找有關的編譯錯誤(「Bound mismatch:...」)。Enum.valueOf(類<T>枚舉類型,字符串名稱)問題
基本上我想要實現這樣的事情:
String enumName = whatever.getEnumName();
Class<? extends Enum<?>> enumClass = whatever.getEnumClass();
Enum<?> enumValue = Enum.valueOf(enumClass, enumName);
無論我做什麼,我總是與編譯錯誤告終。老實說,仿製藥和枚舉是相當mindboggling我...
我在做什麼錯在這裏?
的問題是關於枚舉,泛型和反思。如果忽略泛型,這有什麼意義?特別是像「Class <?extends Enum」這樣的「稀有類型」。 – 2010-10-25 12:28:04
問題是a)如果沒有輔助方法或類型,它就無法工作,b)我們確信任何'類<?擴展枚舉>'也將滿足'Class>'(因爲這就是枚舉類的工作方式),即使沒有辦法檢查沒有類型變量。 '@ SuppressWarnings'是一個註釋,只有在你知道自己在做什麼時才應該使用,而且我知道。 –
2010-10-25 12:43:08