破解版佟丽娅遭群狼威压1V2G小三的代价
AI换脸佟丽娅卷入胁迫事件,破解资源揭露暗黑剧情。...
2026-01-21
Android官方不推荐使用枚举,因为使用枚举占用内存大,相比于静态常量Enum会花费两倍以上的内存。因此就有另一种方式来替代枚举类的使用,那就是@IntDef注解。
首先谈谈对枚举的理解,虽说平时用枚举不是很多,在某些情况下还是会用到枚举的。
1、枚举是某个类的有限集合,它的对象个数不可由程序员增减,它的对象在一个枚举类生成的时候已经确定。
2、枚举可以避免程序调用者使用了系统规定之外的变量,造成未知错误。比如程序需要使用第三方SDK,传入了SDK未能处理的变量,造成SDK异常错误,如果使用了枚举,就可在编码时发现传入错误参数。
添加依赖:
implementation 'com.android.support:support-annotations:26.1.0'使用示例:
//方式一public class Test { //先定义 常量 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 private int currentDay = SUNDAY; public void setCurrentDay(@WeekDays int currentDay) { this.currentDay = currentDay; } @WeekDays public int getCurrentDay() { return currentDay; }} //方式二@IntDef({SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY})@Retention(RetentionPolicy.SOURCE)public @interface WeekDays { int SUNDAY = 0; int MONDAY = 1; int TUESDAY = 2; int WEDNESDAY = 3; int THURSDAY = 4; int FRIDAY = 5; int SATURDAY = 6;}在kotlin中使用@IntDef注解,发现没有什么用,起不到限定作用,仍然可以随便传入值,测试代码如下:
@IntDef( WeekDays.SUNDAY, WeekDays.MONDAY, WeekDays.TUESDAY, WeekDays.WEDNESDAY, WeekDays.THURSDAY, WeekDays.FRIDAY, WeekDays.SATURDAY)@Retention(RetentionPolicy.SOURCE)annotation class WeekDays { companion object { const val SUNDAY = 0 const val MONDAY = 1 const val TUESDAY = 2 const val WEDNESDAY = 3 const val THURSDAY = 4 const val FRIDAY = 5 const val SATURDAY = 6 }} class Test1 { private var currentDay = WeekDays.SUNDAY @WeekDays fun get():Int = currentDay fun setCurrentDay(@WeekDays currentDay: Int){ this.currentDay = currentDay }} fun main(arg:Array<String>){ var test1 = Test1() test1.setCurrentDay(123) println(test1.get())}最终结果输出123。
以上内容就是为大家推荐的android注解的作用(android软件安全权威指南)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题
内容来源于网络仅供参考版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。
本文标题:android注解的作用(android软件安全权威指南)
本文地址:https://www.xiaoyin02.com/shcs/99160.html
相关文章
热点文章
2021年独生子女补贴新政策是真的吗(独生子女证有有效期吗)
2021年国庆节阅兵仪式几点开始几点结束(2021年国庆节还有阅兵吗)
鼠目寸光一点红是什么生肖动物(鼠目寸光一点红)指什么生肖,紧密
k0到k9的玩法大全(强制gc的玩法和注意事项)
入土为安是什么生肖《入土为安》打一个生肖动物,词语解释
浙江12月底全面停工是真的吗(浙江什么时候放假停工)
如何做t(t怎么把p做哭)
北京口碑最差的三甲医院(北京301医院最擅长什么)