- 在开发的过程枚举的使用是必须的.更多的是用枚举来代表的一种常量值,当然也有的是根据常量值来获取对应的文字描述.
- 先讲一下枚举的写法.多的不说了,直接上代码吧.
public enum CategoryNameEnum {
/**
* 题目类型名称
*/
SINGLE_CHOICE(1, "单选题"),
MULTIPLE_CHOICE(2, "多选题"),
JUDGE(3, "判断题"),
COMPLETION(4, "填空题"),
SHORT_ANSWER(5, "简答题"),
CALCULATE(6, "计算题"),
DOUBLE_CHOICE(7, "双项选择题"),
QUESTION_ANSWER(8, "问答题"),
;
private int value;
private String name;
CategoryNameEnum(int value, String name) {
this.value = value;
this.name = name;
}
public int getValue() {
return value;
}
public String getName() {
return name;
}
}
这时候使用只能是说用常量值,或者获取相应的消息.如果入参给一个题型的代码,那么怎么去匹配,然后获取题型名称呢?有两种写法.
- 第一种就是说直接在枚举类中写一个switch,这个是大家都容易想到的.
public CategoryNameEnum getCategory(int value) {
switch (value) {
case 1:
return SINGLE_CHOICE;
...
...
...
default:
}
这是可以得到我们想要的结果的.
- 第二种就是写一个枚举类的遍历方法.
private CategoryNameEnum getCategory(int value) {
for (CategoryNameEnum nameEnum : CategoryNameEnum.values()) {
if (nameEnum.getValue() == value) {
return nameEnum;
}
}
return null;
}
网友评论