enum关键字,即枚举,是Java SE5添加的看似很小的特性,实际上特别的好用。
简介
枚举类型是由关键字enum修饰的, 将一组常量的有限集合创建为新的数据类型。
enum常用方法
T[] valuese()
返回枚举常量数组
int compareTo(E o)
比较此枚举与指定对象的顺序。
Class<E> getDeclaringClass()
返回与此枚举常量的枚举类型相对应的 Class 对象。
String name()
返回此枚举常量的名称,在其枚举声明中对其进行声明。
int ordinal()
返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
String toString()
返回枚举常量的名称,它包含在声明中。
static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
返回带指定名称的指定枚举类型的枚举常量。
如果不存在给定名字的示例,将会抛出异常IllegalArgumentException
示例代码:
public class TextEnum {
public static void main(String[] args) {
Enum colorRed = Color.RED;
Enum colorBlue = Color.BLUE;
Enum colorDark = Color.DARK;
// 返回枚举常量数据组
for (Color c: Color.values()) {
System.out.println("values: " + c);
}
System.out.println("color = " + colorRed );
// compareTo比较此枚举与指定对象的顺序
// A.compareTo(B)
// 若A在B的后面,返回1
// 若A在B的前面,返回-1
System.out.println("compareTo : " + colorBlue.compareTo(colorRed));
System.out.println("compareTo : " + colorBlue.compareTo(colorDark));
// getDeclaringClass:返回与此枚举常量的枚举类型相对应的 Class 对象
// 返回对象的名称包括包名
System.out.println("getDeclaringClass: " + colorBlue.getDeclaringClass());
// name:返回此枚举常量的名称,在其枚举声明中对其进行声明
System.out.println("name: " + colorBlue.name());
// ordinal:返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)
System.out.println("ordinal: " + colorBlue.ordinal());
// toString:返回枚举常量的名称,它包含在声明中
System.out.println("toString: " + colorBlue.toString());
// valueOf:返回带指定名称的指定枚举类型的枚举常量
System.out.println("valueOf: " + Enum.valueOf(Color.class, "RED"));
}
}
// Log打印
values: RED
values: BLUE
values: DARK
color = RED
compareTo : 1
compareTo : -1
g