Java中出现了枚举类型(Enum)后,定义常量时方便了不少,代码的可读性也增强了不少不是吗?,是的。我们不用再像之前声明常量时使用pulbic static final ..这样写一大堆的程序语句了。简单的使用枚举类型进行定义一下,的确很方便的。下面我给大家举个例子来说明一下,枚举类型的用法。先看下面的一段代码:
package com.erbin.util;
public enum Month {
JAN("一月",1),
FEB("二月",2),
MAR("三月",3),
APR("四月",4),
MAY("五月",5),
JUN("六月",6),
JUL("七月",7),
AUG("八月",8),
SEP("九月",9),
OCT("十月",10),
NOV("十一月",11),
DEC("十二月",12);
private String desc;
private int index;
private Month(String desc,int index){
this.desc = desc;
this.index = index;
}
public static String getDesc(int index){
Month[] month = Month.values();
for(Month m : month){
if(m.index == index){
return m.getDesc();
}
}
return null;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
这段代码定义了月份的枚举类型,而且比使用public static final JAN = "一月";语句声明常量要好的多,还提供了比常量更多的方法,同时增强了代码的可读性。我们可以通过枚举类名来取出我们想要的值,比如:
<span style="white-space:pre"> </span>System.out.println(Month.JAN);
System.out.println(Month.JAN.ordinal());
System.out.println(Month.getDesc(1));
System.out.println(Month.JAN.getIndex());
Month month = Month.APR;
switch(month){
case JAN: System.out.println(31);break;
case FEB: System.out.println(28);break;
case APR: System.out.println(30);break;
}
是不是方便了不少,还可以自己定义自己想要的描述信息,大家不妨在自己的程序中声明一类常量时使用一下枚举类型,你的代码就会美化了不少,还能让初学者看你小牛了一下。我们在学习知识的时候,不要只学习理论,还要动手实践,只有动手实践了才能体会到其中的一些妙处,我们才能有所提升。