Java的Enum.valueOf()问题

cyb*_*rro 0 java enums

我试图从String派生一个枚举值,如:

Level level = Enum.valueOf(Level.class, "WARNING");
Run Code Online (Sandbox Code Playgroud)

但我得到的是编译器警告,如:

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)
Run Code Online (Sandbox Code Playgroud)

我知道1.5之前的JDK版本:

Level level = Level.valueOf("WARNING");
Run Code Online (Sandbox Code Playgroud)

会工作,但我正在使用JDK 1.6.有人能为这类问题提供一个有效的例子吗?

谢谢.

Jon*_*eet 6

java.util.logging.Level根本不是一个枚举.你真的是指那个Level班级,还是另一个班级?

您发布的第二个片段也不起作用,但如果您真的在谈论普通Level课程,则可以使用:

Level level = Level.parse("WARNING");
Run Code Online (Sandbox Code Playgroud)