这可能是一个愚蠢的问题,但是我正在使用method enum.valueOf(String name)。那里没问题,只是当我检查javadoc以了解有关此方法的更多信息时,我找不到它。有Javadoc的,valueOf(Class<T> enumType, String name)但没有一个 enum.valueOf(String name)(这表明不存在具有此签名的方法- 但显然它存在)。
enum.valueOf(String name)
valueOf(Class<T> enumType, String name)
我在这里遗漏了什么吗,或者这是API的javadoc中的一个疏漏?
谢谢
没有方法Enum.valueOf(String)但是,每个方法enum都有一个由编译器生成的values()and valueOf(String)方法,这些都已记录在案。它们是静态方法,因此无法在超类或接口中覆盖或定义它们。
enum
values()
valueOf(String)
Enum e = Enum.valueOf(""); // this doesn't compile
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.State.html#values%28%29
http://docs.oracle.com/javase/6/docs/api/java/lang/Thread.State.html#values%28%29
在Java 5.0、6或7中相同。
对于Java 5.0 http://docs.oracle.com/javase/specs/jls/se5.0/html/classes.html#8.9(搜索值)对于Java 7 http://docs.oracle.com/javase/规格/ JLS / SE7 / HTML / JLS-8.html#JLS-8.9.2通过@kapep提供