Android中代替枚举的@IntDef用法
程序员文章站
2022-05-21 08:18:47
...
IntDef本身是个Android中提供的一种注解,用于替代枚举的使用
- 定义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;
- 定义一个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;
}
}
上一篇: volume container
推荐阅读
-
proguar在Android混淆中的用法
-
详解Android TableLayout中stretchColumns、shrinkColumns的用法
-
解析android中ProgressBar的用法
-
Android NDK中socket的用法以及注意事项分析
-
Android中TelephonyManager类的用法案例详解
-
Android中AlertDialog四种对话框的最科学编写用法(实例代码)
-
详解Dagger2在Android开发中的新用法
-
android中Handle类的用法实例分析
-
Android中AutoCompleteTextView与MultiAutoCompleteTextView的用法
-
Android中Shape的用法详解