javadoc 1.5和1.6中缺少enum.valueOf(String name)

这可能是一个愚蠢的问题,但我使用的方法是enum.valueOf(String name) 。 没问题,除了当我检查javadoc以了解更多有关此方法的信息时,我找不到它。 valueOf(Class enumType, String name)有javadoc,但enum.valueOf(String name) (这表明不存在具有此签名的方法 – 但显然它确实存在)。

我在这里遗漏了什么,或者这是对API的javadoc的疏忽?

谢谢

没有方法Enum.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/ specs / jls / se7 / html / jls-8.html#jls-8.9.2由@kapep提供

在引擎盖下, enum.valueOf(String name)实际上是调用Enum.valueOf(Class enumType, String name)