簡體   English   中英

Java 的 Enum.valueOf() 問題

[英]Java's Enum.valueOf() problem

我正在嘗試從字符串中派生枚舉值,例如:

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根本不是枚舉。 您實際上是指class Level還是其他級別?

您發布的第二個片段也不起作用,但如果您真的在談論普通Level class,您可以使用:

Level level = Level.parse("WARNING");

Level.WARNING以及Level.INFO和其他 Loggin 級別都不是 ENUM。

它們是 Level.java class 中的Level.java static final變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM