Java 开发中经常使用到一些有限的常量,这些可以在Bean内部定义成一个 enum 类型,这样在维护时比较方便可控,那这里就简单记录一下 enum 的定义和用法,方便日后直接参考使用,懒人计划,呵呵... 好了,直接看代码...
1,含有enum类型的Java Bean定义
public class XXXBean {
//其它bean变量,...省...
//其它bean变量的getter,setter方法,...省...
/**
* 显示状态, enum枚举类型定义
*/
public enum ShowStatus{
/**
* 0, 不显示
*/
Hide(0,"不显示"),
/**
* 1, 显示
*/
Show(1,"显示");
private Integer code; //对应括号里面第一个值,即 0 或 1
private String description; //对应括号里面第二个值,即不显示 或 显示
//如果括号里还有其它定义的值,可定义相应的变量与之对应即可
//各个变量的getter,setter方法,注意这里是 public 公共的修饰符啊
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
//enum 构造方法,注意这里是 private 私有的修饰符啊
private ShowStatus(Integer code, String description) {
this.code = code;
this.description = description;
}
//通过code,即 0 或 1 获取对应 enum 对象
public static ShowStatus getByCode(Integer code){
ShowStatus showStatus = null;
for(int i=0; i<ShowStatus.values().length; i++){
showStatus = ShowStatus.values()[i];
if(code == showStatus.getCode()){
break;
}
}
return showStatus;
}
}
}
2,enum 类型的使用
//得到的是ShowStatus类型的 Hide 的整个enum 对象
ShowStatus v1 = XXXBean.Hide;
//得到的是Hide,即 Hide 的 enum 对象的名称字面值而已
String v2 = XXXBean.Hide.name(); //这个是默认方法
//得到的是0,即 Hide的 enum 对象的code值: 0
int v3 = XXXBean.Hide.getCode();
//得到的是隐藏,即 Hide的 enum 对象的description值: 隐藏
String v4 = XXXBean.Hide.getDescription();
Java的 enum 枚举类型基本就是定义和使用,这个也是最常用的,当然还有其它的用法,欢迎拍砖一下...