美文网首页
android 如何优雅的使用枚举(@IntDef、@Strin

android 如何优雅的使用枚举(@IntDef、@Strin

作者: Kael_Zhang的安卓笔记 | 来源:发表于2022-12-01 11:27 被阅读0次

    引言

    无论哪种开发语言,枚举的使用都是基础中的基础,不过在实际使用中,比如在 android 开发中,并不推荐直接使用枚举,为什么呢?占用内存多!

    Android 如何优雅的使用枚举

    • 静态常量
      可以实现类似枚举的功能,但不能在传参、赋值时约束范围,和枚举天差地别,不合适!不推荐!
    • @IntDef、@StringDef
      可以实现 int、string 数据类型的枚举功能,推荐使用
    • kotlin 密封类
      可以实现任意数据类型枚举功能,比枚举类功能强大,推荐使用

    @IntDef、@StringDef的用法

    • @IntDef @StringDef 枚举池定义
        //定义一组数据
        @IntDef({TYPE_0 ,TYPE_1 ,TYPE_2})
        @Retention(RetentionPolicy.SOURCE)
        private  @interface ENUM_TYPE{}
    
        public static final int TYPE_0 = 0;
        public static final int TYPE_1 = 1;
        public static final int TYPE_2 = 2;
    
        //成员注解,赋值时约束范围
        public @ENUM_TYPE int type;
        //方法注解,传参时约束范围
        public void setType(@ENUM_TYPE int type) {
            this.type = type;
        }
    

    kotlin 密封类的用法

    kotlin 密封类的用法

    相关文章

      网友评论

          本文标题:android 如何优雅的使用枚举(@IntDef、@Strin

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