枚举便于代码理解和提供了类型安全,不过由于在android平台上,枚举占用内存过多的问题,一般不推荐使用枚举,官方除了两个注解类,IntDef和StringDef,用来提供枚举的替代方案。本文主要通过例子来讲解如何在kotlin中用注解替代枚举。
@IntDef 表示整数类型的带注释元素,示例
用int类型来表示网络的请求状态
@String
用String类型来表示商品的质量
@Target 表示注释修饰的对象范围
有这么几类,我们可以更具实际情况选用
@Retention 表示注释是存储在二进制输出中还是可见以进行反射
有这么三类
这是一个完整的@IntDef示例
annotation class 是kotlin中一个专门的注解类
这是一个完整的@StringDef示例
下面给出一个简单的@IntDef的用法示例
model是一个简单的示例类,源码如下
下面是一个简单的@StringDef的示例类