Lamp.valueOf()是通过枚举元素的name属性寻找当前枚举已经存在的元素
valueOf
public static <T extends Enum<T>> T valueOf(Class<T> enumType,
String name)返回带指定名称的指定枚举类型的枚举常量。名称必须与在此类型中声明枚举常量所用的标识符完全匹配。(不允许使用额外的空白字符。)
参数:
enumType - 要从中返回常量的枚举类型的 Class 对象
name - 要返回的常量名称
返回:
带指定名称的指定枚举类型的枚举常量
抛出:
IllegalArgumentException - 如果指定枚举类型不包含指定名称的常量,或者指定类对象不表示枚举类型
NullPointerException - 如果 enumType 或 name 为空
S2N("N2S"),S2W("E2W"),E2W("W2E");
你的枚举内根本没有“N2S”、“E2S”、“W2E”这些枚举元素,又怎么能找到给next赋值呢? |