Fork me on GitHub

【Kotlin】 枚举

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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 @   黄高林  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示