Ответ 1
Нет метода 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