Fork me on GitHub

【Kotlin】 枚举

enum class RoleEnum(val v: Int, val desc: String) {
    UNKNOWN(-10, "未知"),
    ADMIN(10, "系统管理员"),
    KEEPER(20, "仓库管理员"),
    SCENER(30, "现场人员");

    companion object {
        fun getEnumByV(index: Int): RoleEnum {
            for (value in values()) {
                if (index == value.v) {
                    return value
                }
            }
            return RoleEnum.UNKNOWN
        }
        fun getEnumByDesc(desc: String): RoleEnum {
            for (value in values()) {
                if (desc == value.desc) {
                    return value
                }
            }
            return RoleEnum.UNKNOWN
        }

        /**
         * 根据值获取描述信息
         */
        fun getDesc(index: Int): String {
            return getEnumByV(index).desc
        }

        /**
         * 根据描述信息获取值
         */
        fun getV(desc: String): Int {
           return getEnumByDesc(desc).v
        }
    }
}

 

最近在学习Kotlin,还不太会用,懂的大佬麻烦指点指点

 

posted @ 2023-07-13 01:14  黄高林  阅读(10)  评论(0编辑  收藏  举报