概念
枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数
当一个变量有几种固定可能的取值
时,就可以将它定义为枚举类型
例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。
声明枚举
定义格式
[修饰符] enum 枚举类{
// 枚举内容
}
完整一点的定义格式
enum-modifiers enum enumname:enum-base {
enum-body,
}
- enum-modifiers 表示枚举的修饰符主要包括 public、private 和 internal;
- enumname 表示声明的枚举名称;
- enum-base 表示基础类型;
- enum-body 表示枚举的成员,它是枚举类型的命名常数。
任意两个枚举成员不能具有相同的名称,且它的常数值必须在该枚举的基础类型的范围之内,多个枚举成员之间使用逗号分隔
如果没有显式地声明基础类型的枚举,那么意味着它所对应的基础类型是 int。
举例
public enum SexEnum {
male,female;
}
public enum Color {
RED,BLUE,GREEN,BLACK;
}
之后便可以通过枚举类型名直接引用常量,如 SexEnum.male、Color.RED
其他
对于枚举类的比较。 不需要调用 equals 函数, 直接使用 == 比价
枚举中的一些方法:
- values(): 返回枚举类型中所有的值。可以使用 foreach 进行遍历。他是 valueOf 方法的隐式调用方式。
- ordinal(): 该方法可以返回枚举常量对应的索引值。该索引从 0 开始。多数情况下并不需要使用此方法, 它主要是为了给复杂的基于枚举的数据结构使用而设计的。
- valueOf(): 该方法返回字符串值的枚举常量值。