Android中代替枚举的@IntDef用法

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;
    }
  }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值