android enum java包_Android @IntDef注解取代Java enum枚举提高性能详解
Android @IntDef注解取代Java enum枚举提高性能
为提高Android性能,Android官方建议使用@IntDef注解替代Java的enum枚举。@IntDef的使用给出一个例子,先建立@IntDef数据结构模型,例如MyDay.java:
package zhangphil.test;
import android.support.annotation.IntDef;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
public class MyDay {
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({SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY})
@Retention(RetentionPolicy.SOURCE)
public @interface WeekDays {
}
@WeekDays
private int mCurDay = SUNDAY;
public void setCurrentDay(@WeekDays int currentDay) {
this.mCurDay = currentDay;
}
@WeekDays
public int getCurrentDay() {
return mCurDay;
}
}
使用:
MyDay days = new MyDay();
days.setCurrentDay(MyDay.TUESDAY);
@MyDay.WeekDays int day = days.getCurrentDay();
switch (day) {
case MyDay.SUNDAY:
break;
case MyDay.MONDAY:
break;
case MyDay.TUESDAY:
break;
case MyDay.WEDNESDAY:
break;
case MyDay.THURSDAY:
break;
case MyDay.FRIDAY:
break;
case MyDay.SATURDAY:
break;
default:
break;
}
android enum java包_Android @IntDef注解取代Java enum枚举提高性能详解相关推荐
- android 调出键盘表情_Android高仿微信表情输入与键盘输入详解
使用到表情与键盘的切换输入,需要多表情的只需要实现自己的表情fragment界面,然后根据工厂类获取即可,上图看效果: 效果还不错吧,哈哈.下面开始介绍: 本篇主要分析的核心类EmotionKeybo ...
- Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验
Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...
- 【JAVA秘籍心法篇-Spring】Spring XML解析源码详解
[JAVA秘籍心法篇-Spring]Spring XML解析源码详解 所谓天下武功,无坚不摧,唯快不破.但有又太极拳法以快制慢,以柔克刚.武功外式有拳打脚踢,刀剑棍棒,又有内功易筋经九阳神功.所有外功 ...
- java中北大学ppt总结+课后习题第二章(小宇特详解)
java中北大学ppt总结+课后习题第二章(小宇特详解) 基本数据类型 Java语言有8种基本数据类型. 逻辑类型:boolean.1字节 整数类型: 1字节整数类型:byte. 2字节整数类型:sh ...
- java 枚举 方法_Java枚举使用方法详解
在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的"数 ...
- Android基础入门教程——8.3.5 Paint API之—— Xfermode与PorterDuff详解(二)
Android基础入门教程--8.3.5 Paint API之-- Xfermode与PorterDuff详解(二) 标签(空格分隔): Android基础入门教程 本节引言: 上一节,我们学习了Xf ...
- java获取request body_HttpServletRequest获取body内容(字符串/二进制)详解
首页 > Java Web > SpringMvc应用 > HttpServletRequest HttpServletRequest获取body内容(字符串/二进制)详解 获取HT ...
- java中String s=abc及String s=new String(abc)详解
java中String s="abc"及String s=new String("abc")详解 1. 栈(stack)与堆(heap)都是Java用来在R ...
- java一个方法排他调用_Java编程实现排他锁代码详解
一 .前言 某年某月某天,同事说需要一个文件排他锁功能,需求如下: (1)写操作是排他属性 (2)适用于同一进程的多线程/也适用于多进程的排他操作 (3)容错性:获得锁的进程若Crash,不影响到后续 ...
最新文章
- 员工信息管理系统java6_职工信息管理系统java源代码【可修改】.doc
- php pkcs 1格式的公钥,解说--2--微信支付RSA公钥PKCS1格式转化成PKCS8格式的公钥
- Nginx启动提示找不到libpcre.so.1解决方法
- C++知识点6——数组与指针初步
- DockerFile和DockerCompose使用总结
- (转)Oracle 临时表用法
- 工业4.0时代,工业交换机在智能电网建设中有什么作用?
- TextField对象相关的属性和方法总结
- java log输出到文件路径_Java - 配置log4j的日志文件路径 (附-获取当前类路径的多种方法)...
- python基础课程2(看代码看注释)--条件判断|循环|函数|生成器|类
- 什么是事件冒泡?如何阻止事件冒泡?
- MFC工作笔记0010---PeekMessage 详解
- verilog学习记(测试和验证)
- java 方法的重载_Java中的方法和方法重载
- python经纬度转换xy坐标公式_python 经纬度和平面坐标相互转换利用米勒坐标系
- QT ActiveX和读取EXCEL
- php怎么让页面下雪花,html5实现下雪效果的方法
- C++async、future、packaged_task、promise的使用
- Macbook双系统 10.11及Ubuntu
- hostiko模板-WHMCS自适应模板-略站网
热门文章
- golang包管理解决之道——go modules初探
- 8天学通MongoDB——第四天 索引操作
- 剑指offer:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。
- Java instanceof 关键字【复习】
- Android——设置布局的背景颜色
- java derby连接_JAVA-Derby连接
- mysql数据库array_mysql数据库array
- 一个图片 在另一个图片定位_淋雨图片孤身一人 一个人在淋雨的图片_新闻资讯...
- ML:MLOps系列讲解之《MLOps的定义与发展—你为什么可能想使用机器学习》解读
- AI:2020年6月22日北京智源大会演讲分享之机器感知专题论坛—13:30-14:10山世光教授《从看脸到读心:基于视觉的情感感知技术》