web-dev-qa-db-ja.com

enum.valueOf(String name)がJavadoc1.5および1.6にありません

これはおそらくばかげた質問ですが、私はメソッドenum.valueOf(String name)を使用しています。このメソッドの詳細を調べるためにjavadocをチェックしていたときに、それが見つからなかったことを除いて、問題はありません。 valueOf(Class<T> enumType, String name)にはjavadocがありますが、enum.valueOf(String name)にはありません(これは、このシグネチャを持つメソッドが存在しないことを示唆しますが、明らかに存在します)。

ここで何かが足りないのですか、それともAPIのjavadocの見落としですか?

ありがとう

22

メソッド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でも同じです。

For Java 5.0 http://docs.Oracle.com/javase/specs/jls/se5.0/html/classes.html#8.9 (値を検索)For Java 7 http://docs.Oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.9.2 = @ kapepによって提供されます

19
Peter Lawrey

内部的には、enum.valueOf(String name)は実際に呼び出しています Enum.valueOf(Class<T> enumType, String name)

9
Bohemian