enum.valueOf(字符串名称)在 Javadoc 1.5 和 1.6 中缺失

2022-09-01 23:20:50

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

我在这里遗漏了什么,还是这是API的javadoc中的疏忽?

谢谢


答案 1

没有方法Enum.valueOf(String) 但是,每个方法都有一个由编译器生成的和方法,并且这些方法都有文档记录。它们是静态方法,因此不能在超类或接口中重写或定义。enumvalues()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(archive.org 副本)(搜索值)对于 java 7 http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.9.2 由 @kapep 提供


答案 2

在引擎盖下,实际上是在调用Enum.valueOf(Class<T>enumType,字符串名称)enum.valueOf(String name)