子曰:温故而知新,可以为师矣。 《论语》-- 孔子
一、场景
- 类的对象只有有限个,确定的。
- 当需要定义一组常量时,强烈建议使用枚举类。
二、使用
- JDK 1.5 之后新增
enum
关键字用于定义枚举类。 - 枚举类对象的属性不应允许被改动,应该使用
private final
修饰,并在构造器中赋值。 - 若枚举类显示定义了带参数的构造器,则在列出枚举值时也必须对应的传入参数。
三、举例
public enum SeasonTest {
SPRING("春天","春暖花开"),
SUMMER("夏天","夏日炎炎"),
AUTUMN("秋天","秋高气爽"),
WINTER("冬天","冰天雪地");
private final String key;
private final String value;
SeasonTest(String key, String value) {
this.key = key;
this.value = value;
}
public String getKey() {
return key;
}
public String getValue() {
return value;
}
}
四、枚举类中常用方法
public static void main(String[] args) {
// toString 方法
SeasonTest summer = SeasonTest.SUMMER;
System.out.println(summer.toString());
System.out.println("=======================");
// values 方法
SeasonTest[] seasonTest = SeasonTest.values();
for (int i=0;i<seasonTest.length;i++){
System.out.println(seasonTest[i]);
}
System.out.println("=======================");
// 有选择的创建枚举类的对象个数
SeasonTest[] seasonTests = new SeasonTest[]{SeasonTest.SPRING,SeasonTest.SUMMER,SeasonTest.AUTUMN};
for (int i=0;i<seasonTests.length;i++){
System.out.println(seasonTests[i]);
}
System.out.println("=======================");
// 根据指定名字找到对象
SeasonTest spring = SeasonTest.valueOf("SPRING");
System.out.println(spring);
}
写在文末
纸上得来终觉浅,绝知此事要躬行。 《冬夜读书示子聿》-- 陆游
至此,Java
中 枚举
的使用就说完了,各位看官食用愉快。