在Java SE 7中(很可能在以前的版本中),Enum类声明如下:
public abstract class Enum<E extends Enum<E>>
extends Object
implements Comparable<E>, Serializable
Run Code Online (Sandbox Code Playgroud)
Enum类有一个带有此签名的静态方法:
T static<T extends Enum<T>> valueOf(Class<T> enumType, String name)
Run Code Online (Sandbox Code Playgroud)
但是没有静态方法:valueOf(String)在Enum类中定义,也不在Enum所属的层次结构中向上定义.
问题是valueOf(String)从哪里来的?它是语言的一个特性,即编译器内置的功能吗?
我在使用" - "创建Java中的枚举时遇到问题 - 分隔的字符串:
public enum CipherList{
RSA-MD5,AES128-SHA,AES256-SHA;
}
Run Code Online (Sandbox Code Playgroud)
我收到编译错误.