Android 开发 之 Enum (枚举) —— @IntDef的使用
来源:互联网 发布:券商网络金融部 编辑:程序博客网 时间:2024/05/20 11:22
Android 开发 之 Enum (枚举) —— @IntDef的使用
收藏
- 发表于 2年前
- 阅读 6662
- 收藏 6
- 点赞 0
- 评论 0
官方文档说明,安卓开发应避免使用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
- Android 开发 之 Enum (枚举) —— @IntDef的使用
- Android 开发 之 Enum (枚举) —— @IntDef的使用
- Android 开发 之 Enum (枚举) —— @IntDef的使用
- android开发Enum (枚举)的更轻量级的替代方案 —— @IntDef的使用
- (4.6.18)android开发Enum (枚举)的完美替代 —— @IntDef的使用
- android开发Enum (枚举)的完美替代 —— @IntDef的使用
- android开发Enum (枚举)的完美替代 —— @IntDef的使用
- Androi--开发 之 Enum (枚举) —— @IntDef的使用
- android开发Enum (枚举)的更轻量级的替代方案 —— @IntDef的使用 原创 2017年11月28日 09:17:58 77 最近在翻看Android源码的时候,无意中看到这么一个注解,
- Android开发中用于替代Enum的@IntDef的使用
- 教你使用Android自带注解@IntDef代替Enum (枚举)
- Android @IntDef的使用 - 代替枚举
- Android:使用@IntDef代替Enum
- @IntDef的使用(替代枚举)
- Java Enum枚举替代方案--Android IntDef/StringDef Annotation注解
- 枚举(enum)的使用
- 使用注解@IntDef替代枚举
- ios高效开发-正确的使用枚举(Enum)
- 简单理解RemoteView
- SPOJ PROD1GCD
- PHP7 新特性 学习
- 其实Unix很简单
- Javascript中的Generator函数和yield关键字
- Android 开发 之 Enum (枚举) —— @IntDef的使用
- 乘积最大
- 2000年分区联赛普级组之三 乘积最大
- Lucene的IndexWriter
- mysql错误积累
- JAVA二叉排序树的建立,遍历(递归,非递归)
- 软件开发需要用到的图
- ElasticSearch系列04:核心概念
- 红宝书 第10章整理——E4X