JAVA枚举
枚举类型的使用:
定义一个枚举变量:
enum Day{ MOD,TUE,WED,THR,FRI; };
可以直接输出枚举变量的字符串形式和利用switch输出,在JDK1.6及之前switch只识别int,char,enum等类型变量,而不识别String字符串,因此可以用枚举进行转换;同时可以调用values()方法对枚举变量进行遍历:
public static String getval(Day i){ switch (i) { case MOD: return "0"; case TUE: return "1"; case WED: return "2"; case THR: return "3"; case FRI: return "4"; default:return "null"; } }
System.out.println(Day.FRI); String sval = getval(Day.WED); System.out.println(sval);
for (Day day : Day.values()) {
System.out.println(day);
}
输出结果:
FRI 2 MOD TUE WED THR FRI
enum 是一个普通的 class,它们都可以定义一些属性和方法,但是enum 不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承)但是可以实现其他接口,并实现接口中的方法。
在enum类中实现自定义方法:
1 enum Day{ 2 3 MOD(1),TUE(2),WED(3),THR(4),FRI(5); 4 5 private int val; 6 7 Day(int _val){ 8 this.val = _val; 9 } 10 11 public String getDayvalue(){ 12 return "$"+val; 13 } 14 };
调用枚举类中自定义的函数:
for (Day day : Day.values()) { System.out.println(day.getDayvalue()); }
输出结果:
$1 $2 $3 $4 $5