一尘不染

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

java

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

我在这里遗漏了什么吗,或者这是API的javadoc中的一个疏漏?

谢谢


阅读 178

收藏
2020-12-03

共1个答案

一尘不染

没有方法Enum.valueOf(String)但是,每个方法enum都有一个由编译器生成的values()and
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提供

2020-12-03