Java 枚举enum
1. 简介
-
Java 枚举是一个特殊的类,一般表示一组常量,比如一年四季、月份、星期等。
-
示例
-
enum Color { RED, GREEN, BLUE; }
2. 定义
-
使用 enum 关键字,其中每一个值都将映射到
protected Enum(String name, int ordinal)
构造函数中,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。 -
示例:
-
public enum EnumTest { MON, TUE, WED, THU, FRI, SAT, SUN; }
-
这里实际上调用了7次构造函数
3. 常用方法
- int compareTo(E o)
- 将此枚举与指定的对象比较
- boolean equals(Object other)
- 如果指定对象等于此常数,则返回true
- Class getDeclaringClass()
- 返回于此常数的enum类型对应的类对象
- String name()
- 返回此枚举的名称
- int ordinal()
- 返回此枚举常数的序号
- E[] values()
- 返回此枚举类型的数组,即将枚举类型转化为一个枚举类型的数组,这样可以通过下标访问幸亏的枚举类。
4. 自定义属性和方法
/**
* @Author: Hjx
* @Date: 2021/8/16 11:34
*/
public enum EnumDemoFirst {
RED(1,"hongse"),GREEN(2,"lvse"),YELLOW(3,"huangse");
private int code;
private String msg;
private EnumDemoFirst(int ordinal, String name) {
this.code = ordinal;
this.msg = name;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
-
测试类
-
/** * @Author: Hjx * @Date: 2021/8/16 11:36 */ public class TestEnum { public static void main(String[] args) { EnumDemoFirst[] enumDemoFirsts = EnumDemoFirst.values(); for (EnumDemoFirst enumDemoFirst:enumDemoFirsts){ System.out.println(enumDemoFirst.getMsg()); } } }
-
结果显示
-