Androi--开发 之 Enum (枚举) —— @IntDef的使用
来源:互联网 发布:python ffmpeg 库安装 编辑:程序博客网 时间:2024/06/06 17:38
Android 开发 之 Enum (枚举) —— @IntDef的使用
https://my.oschina.net/Bruce370/blog/499279?p={{page}}
官方文档说明,安卓开发应避免使用Enum(枚举类),因为相比于静态常量Enum会花费两倍以上的内存。参 http://developer.android.com/training/articles/memory.html#Overhead
那么如果需要使用Enum应该怎么做呢?
https://noobcoderblog.wordpress.com/2015/04/12/java-enum-and-android-intdefstringdef-annotation/
public class MainActivity extends Activity { //先定义 常量 public static final int SUNDAY = 0; public static final int MONDAY = 1; public static final int TUESDAY = 2; public static final int WEDNESDAY = 3; public static final int THURSDAY = 4; public static final int FRIDAY = 5; public static final int SATURDAY = 6; //用 @IntDef "包住" 常量; // @Retention 定义策略 // 声明构造器 @IntDef({SUNDAY, MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY}) @Retention(RetentionPolicy.SOURCE) public @interface WeekDays {} @WeekDays int currentDay = SUNDAY; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setCurrentDay(WEDNESDAY); //声明变量 @WeekDays int today = getCurrentDay(); switch (today){ case SUNDAY: break; case MONDAY: break; case TUESDAY: break; case WEDNESDAY: break; case THURSDAY: break; case FRIDAY: break; case SATURDAY: break; default: break; } } public void setCurrentDay(@WeekDays int currentDay) { this.currentDay = currentDay; } @WeekDays public int getCurrentDay() { return currentDay; }}
build.gradle中
compile'com.android.support:support-annotations:22.0.0'
原文地址:https://noobcoderblog.wordpress.com/2015/04/12/java-enum-and-android-intdefstringdef-annotation/
阅读全文
0 0
- Androi--开发 之 Enum (枚举) —— @IntDef的使用
- Android 开发 之 Enum (枚举) —— @IntDef的使用
- Android 开发 之 Enum (枚举) —— @IntDef的使用
- Android 开发 之 Enum (枚举) —— @IntDef的使用
- android开发Enum (枚举)的更轻量级的替代方案 —— @IntDef的使用
- (4.6.18)android开发Enum (枚举)的完美替代 —— @IntDef的使用
- android开发Enum (枚举)的完美替代 —— @IntDef的使用
- android开发Enum (枚举)的完美替代 —— @IntDef的使用
- android开发Enum (枚举)的更轻量级的替代方案 —— @IntDef的使用 原创 2017年11月28日 09:17:58 77 最近在翻看Android源码的时候,无意中看到这么一个注解,
- @IntDef的使用(替代枚举)
- Android开发中用于替代Enum的@IntDef的使用
- 教你使用Android自带注解@IntDef代替Enum (枚举)
- Android @IntDef的使用 - 代替枚举
- Android:使用@IntDef代替Enum
- 枚举(enum)的使用
- 使用注解@IntDef替代枚举
- ios高效开发-正确的使用枚举(Enum)
- iOS 高效开发-正确的使用枚举(Enum)
- arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
- java递归算法实现
- 用户权限管理
- usb传输
- iOS app性能优化的那些事
- Androi--开发 之 Enum (枚举) —— @IntDef的使用
- linux 上 自动生成wget地址的脚步
- JavaScript onerror 事件( window.onerror = )
- intellij idea 插件 实现点击bean的set设置方法
- Vuex 模块化与项目实例 (2.0)
- eclipse中activiti插件的安装
- 字符串长度测试
- Vuex2.0边学边记+两个小例子
- Object-C总成1