Java的枚举。valueOf()问题
我试图从字符串中派生枚举值,如:
Level level = Enum.valueOf(Level.class, "WARNING");
但我得到的只是编译器警告,如:
Test.java:8: <T>valueOf(java.lang.Class<T>,java.lang.String) in java.lang.Enum cannot be applied to (java.lang.Class<java.util.logging.Level>,java.lang.String)
我知道在JDK 1.5之前的版本中:
Level level = Level.valueOf("WARNING");
可以,但我使用的是JDK1.6。有人能为这类问题提供一个有效的例子吗
谢谢
# 1 楼答案
^{} 根本不是枚举。你是说那个
Level
班,还是另一个班您发布的第二个代码片段也不起作用,但是如果您真的在谈论普通的
Level
类,您可以使用:# 2 楼答案
Level.WARNING
,以及Level.INFO
和其他Loggin级别都不是ENUM它们是
Level.java
类中的static final
变量