美文网首页Android基础知识
Android中代替枚举的@IntDef用法

Android中代替枚举的@IntDef用法

作者: mrwangyong | 来源:发表于2017-02-11 14:58 被阅读2664次

IntDef本身是个Android中提供的一种注解,用于替代枚举的使用

  1. 定义static final的常量
private static final int ADD = 0;
private static final int SUB = 1;
private static final int MUL = 2;
private static final int DIV = 3;
  1. 定义一个IntDef注解,包含上面的常量,两种形式

第一种形式:

@IntDef({ADD,SUB,MUL,DIV})

第二种形式

@IntDef(flag = true, value = {ADD,SUB,MUL,DIV})

区别是第二种可以用条件进行位运算,更多详细信息,请参考
https://developer.android.com/reference/android/support/annotation/IntDef.html
3.定义一个注解,表明当前@IntDef的保留策略,只保留源码中,编译时删除,

@Retention(RetentionPolicy.SOURCE)

当然你还可以指定其他策略:

Class:编译时被保留,在class文件中存在,但JVM将会忽略

Runtime:将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用
4.自定义一个注解 表明类型

public @interface Operation{}

5.使用,在方法中使用,类型安全,替代枚举

  public void operation(@Operation int opeartion) {
    switch (opeartion) {
      case ADD:
        break;
      case SUB:
        break;
      case DIV:
        break;
      case MUL:
        break;
    }
  }

相关文章

  • 枚举 学习笔记

    android 中 我们通常推荐使用 @IntDef 等 代替使用 枚举,很多同学有疑问,为什么抛弃 枚举。我们现...

  • 浅谈Android中@IntDef注解的使用

    上回书说到Android中推荐使用@IntDef代替枚举类型。 那么今天的主题就是来浅浅的了解一下@IntDef注...

  • Android中代替枚举的@IntDef用法

    IntDef本身是个Android中提供的一种注解,用于替代枚举的使用 定义static final的常量 定义一...

  • android使用IntDef 来代替枚举

    官方的说法就是:我们在写代码的时候要注意类型的使用,以便于提高代码的扩展性和维护性,但是原型的使用一般会付出更多的...

  • 注解代替枚举案例 2019-01-25

    title: 注解代替枚举案例 20180312 参考: @IntDef的使用(替代枚举) 使用情形:比如 对 a...

  • 性能

    @IntDef替代枚举 @IntDef/@StringDef本身是个Android中提供的一种注解. 添加依赖:c...

  • 替代枚举的注解

    Android中新引入的替代枚举的注解有IntDef和StringDef,这里以IntDef做例子说明一下.

  • apt相关学习资料

    【Android开发@IntDef完美替代Enum (枚举)】https://www.jianshu.com/p/...

  • Android中使用注解替代枚举

    枚举最大的作用是提供了类型安全。为了弥补Android平台不建议使用枚举的缺陷,官方推出了两个注解,IntDef和...

  • Android中使用注解替代枚举

    枚举最大的作用是提供了类型安全。为了弥补Android平台不建议使用枚举的缺陷,官方推出了两个注解,IntDef和...

网友评论

    本文标题:Android中代替枚举的@IntDef用法

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