Android中使用注解替代枚举
来源:互联网 发布:本地连接识别不了网络 编辑:程序博客网 时间:2024/05/29 11:37
枚举最大的作用是提供了类型安全。为了弥补Android平台不建议使用枚举的缺陷,官方推出了两个注解,IntDef和StringDef,用来提供编译期的类型检查。
首先,引入依赖包:
compile 'com.android.support:support-annotations:22.0.0'
public class MyConstants { public static final int STATE_ONE = 1; public static final int STATE_TWO = 2; public static final int STATE_THREE = 3; // 自定义一个注解MyState @IntDef({STATE_ONE, STATE_TWO, STATE_THREE}) public @interface MyState {}}
如果我们定义一个状态变量:
@MyConstants.MyStateprivate int state;
上面的state变量被注解修饰,这样就限制了上面变量的值只能为注解里面定义的三种类型。
另外,如果我们定义的方法传入的变量也被这个注解修饰,这样就限制了我们传入参数的值只能为注解的几种类型。
private void setState(@MyConstants.MyState int state) { //some code}
当调用方法时只能使用STATE_ONE,STATE_TWO和STATE_THREE。使用其他值会导致编译提醒和警告。
但是需要说明的是这仅仅是AS的静态代码检查而已,就像上面的代码,尽管IDE已经报错,你还是可以直接Run Application,而且也可以成功运行。它只是为了在程序员写代码的时候可以提醒程序员应该注意这个地方可能出错。
0 0
- Android中使用注解替代枚举
- android使用注解替代枚举
- 使用注解@IntDef替代枚举
- 使用注解@IntDef替代枚举学习
- Java Enum枚举替代方案--Android IntDef/StringDef Annotation注解
- 使用注解@StringDef替代枚举-以切换环境为例
- 使用注解@StringDef替代枚举-以切换环境为例
- Android中使用注解来代替枚举类的方式
- Android之使用枚举利弊及替代方案
- android开发Enum (枚举)的更轻量级的替代方案 —— @IntDef的使用 原创 2017年11月28日 09:17:58 77 最近在翻看Android源码的时候,无意中看到这么一个注解,
- android枚举的替代(官方建议)
- @IntDef的使用(替代枚举)
- Annotation & Enum :Java中注解和枚举的使用
- android开发Enum (枚举)的完美替代 —— @IntDef的使用
- (4.6.18)android开发Enum (枚举)的完美替代 —— @IntDef的使用
- android开发Enum (枚举)的完美替代 —— @IntDef的使用
- android开发Enum (枚举)的更轻量级的替代方案 —— @IntDef的使用
- Android 中注解的使用
- HDU2084 数塔
- 第一篇博客:使用Emgu.CV
- 通过百度地图API获取经纬度以及两点间距离
- MainActivity类中定义组件马上赋值出错
- EIGRP协议
- Android中使用注解替代枚举
- Android_GestureDetector手势滑动使用
- 有趣的C语言--指针
- Java堆.栈和常量池 笔记
- Java之文件读写操作
- hdu 4832 chess (dp)
- windows服务器多种磁盘划分
- 第四章:数组的定义及使用
- 求出字符串中有多少种字符,以及每种字符的个数。