Java 创建枚举
枚举(Enumeration)是一种特殊的数据类型,它是一组预定义的常量的集合。在Java中,我们可以使用关键字enum
来创建枚举类型。枚举类型可以帮助我们更好地组织和管理常量,使代码更具可读性和可维护性。
创建枚举类型
要创建一个枚举类型,我们只需要在类的内部使用enum
关键字来定义即可。下面是一个示例:
public enum DayOfWeek {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
在上面的示例中,我们创建了一个名为DayOfWeek
的枚举类型,其中包含了一周的所有天。每个枚举常量都被视为DayOfWeek
的一个实例。
使用枚举类型
在程序中使用枚举类型非常简单。我们可以通过枚举常量的名称来访问它们。例如,要访问MONDAY
常量,我们可以直接使用DayOfWeek.MONDAY
。下面是一个示例:
DayOfWeek day = DayOfWeek.MONDAY;
System.out.println("Today is " + day);
上面的代码将打印出Today is MONDAY
。
枚举常量的属性和方法
与其他类一样,枚举类型也可以拥有属性和方法。我们可以为每个枚举常量定义属性,并在枚举类型中实现方法。下面是一个示例:
public enum DayOfWeek {
MONDAY("Monday", "星期一"),
TUESDAY("Tuesday", "星期二"),
WEDNESDAY("Wednesday", "星期三"),
THURSDAY("Thursday", "星期四"),
FRIDAY("Friday", "星期五"),
SATURDAY("Saturday", "星期六"),
SUNDAY("Sunday", "星期日");
private final String englishName;
private final String chineseName;
private DayOfWeek(String englishName, String chineseName) {
this.englishName = englishName;
this.chineseName = chineseName;
}
public String getEnglishName() {
return englishName;
}
public String getChineseName() {
return chineseName;
}
}
上面的示例中,我们为每个枚举常量添加了两个属性englishName
和chineseName
,并实现了对应的getter方法。这样,我们就可以通过这些方法获取枚举常量的属性了。
使用枚举类型的属性和方法
要使用枚举常量的属性和方法,我们可以直接通过枚举常量的名称来访问它们。下面是一个示例:
DayOfWeek day = DayOfWeek.MONDAY;
System.out.println("Today is " + day.getChineseName());
上面的代码将打印出Today is 星期一
。
枚举类型的内置方法
除了我们自定义的属性和方法之外,枚举类型还提供了一些内置的方法,方便我们对枚举常量进行操作。下面是一些常用的枚举类型的内置方法:
values()
:返回包含枚举类型中所有枚举常量的数组。valueOf(String name)
:根据枚举常量的名称返回对应的枚举常量。name()
:返回枚举常量的名称。
下面是一个示例:
DayOfWeek[] days = DayOfWeek.values();
for(DayOfWeek day : days) {
System.out.println("Name: " + day.name() + ", English: " + day.getEnglishName() + ", Chinese: " + day.getChineseName());
}
上面的代码将打印出枚举类型DayOfWeek
中所有枚举常量的名称和属性。
总结
枚举是一种非常有用的数据类型,可以帮助我们更好地组织和管理常量。在Java中,我们可以使用enum
关键字来创建枚举类型,并通过枚举常量的名称来访问它们。同时,我们还可以为枚举常量定义属性和方法,以及利用枚举类型的内置方法来进行