一、枚举常量
例如:
enum SeasonEnum{
SPRING,SUMMER,AUTUMN,WINTER
}
二、枚举常用方法
1.SeasonEnum.values()方法,以数组形式返回枚举类型的成员。
SeasonEnum es[] = SeasonEnum.values();
2.SeasonEnum.valueOf()方法,将传入的字符串参数转换成枚举实例类型(对象),参数必须是在SeasonEnum枚举里已经定义好的常量。
SeasonEnum tmp = SeasonEnum.valueOf("SUMMER");
3.tmp.compareTo()方法,用于比较两个枚举对象在定义时的顺序,返回负整数,零,正整数。
for (int i = 0; i < es.length; i++) {
int result = tmp.compareTo(es.[i]);
}
/* 依次返回tmp与每一个es.[i]的比较结果,
result = 1(tmp在es[1]后1个位置),
result = 0(tmp与es[2]位置相同),
result = -1(tmp在es.[3]前一个位置),
result = -2(tmp在es.[4]前两个位置)
*/
4.tmp.ordian()方法,获取tmp对象的位置索引值(大于等于0的整数)。
int a = tmp.ordinal();
// a = 1;
三、枚举构造方法
枚举类型中的构造方法必须用private修饰。
enum SeasonEnum { //枚举定义常量
SPRING("万物复苏"),
SUMMER("烈日炎炎"),
AUTUMN("秋草枯黄"),
WINTER("白雪皑皑");
private String remarks; //定义String变量用来存放枚举对象的常量值。
private SeasonEnum(String remarks){
this.remarks = remarks;
}
private SeasonEnum(){ // 无参构造函数
}
public String getRemarks(){
return remarks;
}
}
如何调用,例如:创建一个"SUMMER"的枚举对象tmp,直接调用getRemarks()方法,得到remarks的值
SeasonEnum tmp = SeasonEnum.valueOf("SUMMER");
tmp.getRemarks();
//得到"SUMMER"枚举的值(烈日炎炎).
ok