枚举都自动包含两个预定义方法:values()和valueOf()
就是说定义一个enum 的类型,编译器会自动生成一个继承 java.lang.Enum的类,并且生成 values()和 valueOf()方法
public static enum-type[ ] values( )
public static enum-type valueOf(String str)返回值类型是enum-type,自然能调用isLight()方法
API中描述的是static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
返回带指定名称的指定枚举类型的枚举常量。
所以你写成Lamp.valueOf(Lamp.class, opposite).light();也是可以的,但不如上面的简便不是吗?
|