项目需要状态码的定义,例 键-值。
定义枚举类:
public enum ParameterStatus {
/**
* 0 当前参数
* 1 历史参数
* 2 将来参数
* 3 草稿参数
*/
CURRENT_STATUS(0), HISTORY_STATUS(1), FUTURE_STATUS(2), DRAFT_STATUS(3);
private int status;
private ParameterStatus(int status) {
this.status = status;
}
public int getStatus() {
return status;
}
// 此方法是关键
public static ParameterStatus getByStatus(int status) {
for (ParameterStatus aparameterStatus : values()) {
if (aparameterStatus.getStatus() == status) {
return aparameterStatus;
}
}
return null;
}
}
判断状态类型,试错:
switch(apc.getParameterStatus()) {
case ParameterStatus.DRAFT_STATUS.getStatus():
// dosomething
}
此处会报错:case语句中必须是常量!!!方法不行。
判断状态类型,可行:
switch (ParameterStatus.getByStatus(apc.getParameterStatus()))
{
case CURRENT_STATUS:
// dosomething
break;
case HISTORY_STATUS:
// dosomething
break;
case FUTURE_STATUS:
// dosomething
break;
case DRAFT_STATUS:
// dosomething
break;
default:
break;
}