我正在尝试从字符串中派生枚举值,例如:
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)
我知道在 1.5 之前的 JDK 版本中:
Level level = Level.valueOf("WARNING");
可以,但我使用的是 JDK 1.6。谁能提供此类问题的有效示例吗?
谢谢。
最佳答案
java.util.logging.Level
根本不是一个枚举。您实际上是指那个Level
类,还是其他类?
您发布的第二个片段也不起作用,但如果您真的谈论正常的Level
类,您可以使用:
Level level = Level.parse("WARNING");
关于Java Enum.valueOf() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6760800/