美文网首页
一个枚举匹配的小知识

一个枚举匹配的小知识

作者: cmeizu | 来源:发表于2020-08-11 08:56 被阅读0次
  • 在开发的过程枚举的使用是必须的.更多的是用枚举来代表的一种常量值,当然也有的是根据常量值来获取对应的文字描述.
  • 先讲一下枚举的写法.多的不说了,直接上代码吧.
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;
    }
}

这时候使用只能是说用常量值,或者获取相应的消息.如果入参给一个题型的代码,那么怎么去匹配,然后获取题型名称呢?有两种写法.

    1. 第一种就是说直接在枚举类中写一个switch,这个是大家都容易想到的.

    public CategoryNameEnum getCategory(int value) {
        switch (value) {
            case 1:
                return SINGLE_CHOICE;
             ...
             ...
             ...
            default:
        }

这是可以得到我们想要的结果的.

    1. 第二种就是写一个枚举类的遍历方法.
private CategoryNameEnum getCategory(int value) {
        for (CategoryNameEnum nameEnum : CategoryNameEnum.values()) {
            if (nameEnum.getValue() == value) {
                return nameEnum;
            }
        }
        return null;
    }

相关文章

  • 一个枚举匹配的小知识

    在开发的过程枚举的使用是必须的.更多的是用枚举来代表的一种常量值,当然也有的是根据常量值来获取对应的文字描述. 先...

  • Swift学习笔记四之枚举

    枚举: 当不需要匹配每个枚举成员的时候,你可以提供一个default分支来涵盖所有未明确处理的枚举成员 递归枚举:...

  • 第十一节 Swift 中的枚举

    枚举是为一组相关的值定义的一个公共类型,用关键词 enum 定义。 定义一个枚举 用Switch 语句来匹配枚举值...

  • 枚举

    枚举 本节内容包括: 枚举语法 匹配枚举值与switch语句 相关值 原始值 枚举语法 注意:不像 C 和 Obj...

  • WWDC2015Session106What's New

    新特性:基本类型、类型匹配、可检查性、协议扩展、错误处理 基本类型 枚举 在枚举中加入类型: 递归枚举递归枚举中需...

  • Swift 模式匹配总结

    Swift 模式匹配总结 基本用法 对枚举的匹配: 在swift中 不需要使用break跳出当前匹配,默认只执行一...

  • TS学习笔记(6)-枚举类型

    枚举类型 ========= 知识点 枚举类型的定义方法 枚举类型的使用方法 代码

  • Swift学习(七:枚举)

    1.枚举语法 多个成员值可以出现在同一行上,用逗号隔开 2.使用Switch语句匹配枚举 3.关联值 在定义枚举的...

  • 【Swift进阶笔记】可选值

    通过枚举解决魔法数问题 获取枚举关联值的唯一方式就是通过模式匹配, 就像switch或if case let 中使...

  • 模式匹配

    模式 模式类型 通配符模式 _ 匹配任何值 _? 匹配非nil值 标识符模式 值绑定模式 元组模式 枚举case模...

网友评论

      本文标题:一个枚举匹配的小知识

      本文链接:https://www.haomeiwen.com/subject/qukedktx.html