如何创建一个实用的枚举类示例

这篇文章详细介绍了Java中定义的QuestionType枚举类,包含各种题型(如单选、多选等),并展示了如何通过类型和描述获取对应的枚举值以及获取所有题型列表的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上代码

public enum QuestionType {

    DANXUAN(0,"单选题"),
    DUOXUAN(1,"多选题"),
    PANDUAN(2,"判断题"),
    JIESHIGAINIAN(3,"解释概念题"),
    TIANKONG(4,"填空题"),
    JIANDA(5,"简答题"),
    HUATU(6,"画图题"),
    CAILIAO(11,"材料题");

    private Integer questionType;

    private String questionName;

    private QuestionType(Integer questionType, String questionName) {
        this.questionType = questionType;
        this.questionName = questionName;
    }

    public Integer getQuestionType() {
        return questionType;
    }

    public String getQuestionName() {
        return questionName;
    }

    /**
     * 根据题型获取对象
     * @param questionType
     * @return
     */
    public static QuestionType getQuestionTypeByType(Integer questionType){
        for (QuestionType value : QuestionType.values()) {
            if(value.getQuestionType().equals(questionType)){
                return value;
            }
        }
        throw new ServiceException("该题型不存在");
    }

    /**
     * 根据描述获取对象
     * @param questionName
     * @return
     */
    public static QuestionType getQuestionTypeBy(String questionName){
        for (QuestionType value : QuestionType.values()) {
            if(value.getQuestionName().equals(questionName)){
                return value;
            }
        }
        throw new ServiceException("该题型不存在");
    }

    /**
     * 获取全部题型对象。用于前端下拉框回显
     * @return
     */
    public static List<QuestionType> getQuestionTypes(){
        return Arrays.asList(QuestionType.values());
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值