介绍
枚举类型是Java语言中的特定数据类型,可以为其定义一组常量值,同时枚举类型具有比普通常量更高的安全性和可读性,更适合于多个变量选择其中一项的情况。实现一个定义枚举类型的方法可以声明一个enum类型,然后在它后面列出它的所有可能值。Java的枚举类型是一种特殊的类,它有自己的方法和字段。
使用
1. 枚举类型的定义
枚举类型的定义方式如下:
enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
使用enum定义枚举类型Week,并定义其中包含了一组星期名称。
2. 枚举类型的使用
枚举类型的使用方式如下:
public class EnumClass { enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } public static void main(String[] args) { Week today = Week.SUNDAY; System.out.println("Today is " + today); } }
在上面的示例中,定义了一个枚举类型Week,并在main方法中使用了该枚举类型,初始化today为Week.SUNDAY,最后输出输出结果为"Today is SUNDAY"。
3. 实现接口的枚举类型
枚举类型可以实现接口,实现方式如下:
interface People { void say(); } public enum Week implements People { MONDAY { @Override public void say() { System.out.println("星期一"); } }, TUESDAY { @Override public void say() { System.out.println("星期二"); } }, WEDNESDAY { @Override public void say() { System.out.println("星期三"); } }, THURSDAY { @Override public void say() { System.out.println("星期四"); } }, FRIDAY { @Override public void say() { System.out.println("星期五"); } }, SATURDAY { @Override public void say() { System.out.println("星期六"); } }, SUNDAY { @Override public void say() { System.out.println("星期日"); } }; public static void main(String[] args) { Week.MONDAY.say(); } }
在上面的示例中,枚举类型Week实现了People接口,实现接口方法say,并在main方法中输出星期一说明实现成功。在实现接口的枚举类型中,可在每个枚举常量后加上大括号,来实现接口方法
4. 常量相关的方法和操作
Java提供了许多常量相关的方法和操作,比如注册常量,获取一个枚举常量的序数等等。
public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; public static void main(String[] args) { // 注册常量 Week[] weeks = Week.values(); for (int i = 0; i < weeks.length; i++) { System.out.println(weeks[i]); } // 获取枚举常量的序数 System.out.println(Week.MONDAY.ordinal()); } }
在上面的示例中,使用values()方法注册所以的枚举常量,再在main方法中输出每一个常量。其次,输出枚举常量MONDAY的序号。
总结
Java中使用枚举类型可以提高代码的可读性和可维护性,可以充分利用Java所提供的各种常量相关的方法和操作以及实现接口的方式来满足不同的需要。Java语言中枚举类型的灵活使用将在编写代码时发挥出无穷的优势。