android注解的作用(android软件安全权威指南)

Android官方不推荐使用枚举,因为使用枚举占用内存大,相比于静态常量Enum会花费两倍以上的内存。因此就有另一种方式来替代枚举类的使用,那就是@IntDef注解。 枚举的理解 首先谈谈对枚举的理解,虽说平时用枚举不是很多,在某些情况下还是会用到枚举的。 1、枚举是某个类的有限集合,它的对象个数不可由程序员增减,它的对象在一个枚举类生成的时候已经确定。 2、枚举可以避免程序调用者使用了系统规定之…

Android官方网不强烈推荐应用枚举,由于应用枚举占有运行内存大,对比于静态数据常量Enum会耗费二倍以上的运行内存。因而就会有另一种方式来取代枚举类的应用,那便是@IntDef注解。

枚举的了解

最先谈一谈对枚举的了解,虽然平常用枚举并不是许多,在某种情形下依然会使用枚举的。

1、枚举是某一类的比较有限结合,它的目标数量不能由程序猿调整,它的目标在一个枚举类形成的情况下已经明确。

2、枚举可以防止程序流程调用者应用了系统软件要求以外的自变量,导致未知错误。例如程序流程必须应用第三方SDK,传入了SDK无法解决的自变量,导致SDK出现异常不正确,假如采用了枚举,就可在编号时发觉传入不正确主要参数。

@IntDef注解的应用

加上依靠:

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

在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。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(1)
上一篇 2022年5月13日 下午1:50
下一篇 2022年5月13日 下午1:50

相关推荐

  • 做点什么好赚钱,适合在家挣钱的工作

    农村找到挣钱的事情,不是没有,可能你暂时还没有想到,是的,有时创业项目也就是在不经意间出现,就如下这些你是否有想到?做起来了也不输给打工,农民朋友赶紧动起手来吧! 微信生活群的运营 微信在农村已经是非常熟悉了,它已经普及到老百姓的生活,我们知道微信除了聊天还是关注朋友圈的工具,除此外微信还可以建群,实现信息的快速传递,如此一来在当地农村建立一个微信的群,那就更加方便了。运营者可以通过扫码送礼加人入…

    2022年8月16日
    490
  • 扫描软件下载(扫描软件app推荐)

    提起图片扫描识别为文字(OCR)的APP,最大名鼎鼎的就是扫描全能王,这个APP是非常好用的,但是高级功能都要收费,而且有广告。 今天给大家介绍一款同类APP,不仅免费无广告,不限制使用次数,功能还更强大,APP名字叫洋果扫描王。 还支持拍图识字、人脸测试、文字识别、花草识别、动物识别、车型识别、证件识别等非常有趣的功能。 扩展功能中还支持了PDF转图片、EXCEL转PDF、图片转PDF等功能。 …

    2022年5月13日
    770
  • 什么是中国梦,2019中国梦的含义和内容究竟是什么!

    动态 1、12月24日,中国航发动力所召开质量工作先进经验交流暨2018年度质量工作先进单位、质量放心党支部评选会,通过分享先进经验和优秀做法,为稳步提升质量管理水平和产品研制质量打下基础。 2、12月24日,中国航发南方开展安全生产责任目标管理考核暨班组安全建设管理考核,对各单位安全指标完成情况等13个项目进行检查,进一步落实安全生产责任制,提升企业安全管理水平。 3、12月21日,中国航发动研…

    2022年5月18日
    700
  • 营销激励短信大全,30句简短霸气鼓励销售冲刺业绩的话

    在过一天就是中秋节了 宝宝们吃月饼了吗? 不过对于商家来说, 中秋节可是一个至关重要的营销节点。 那么, 如何利用好这个节点进行拉新促销、维护客户的活动呢? 当然是选择成本最低,到达率最高,性价比最佳,营销环境最优的短信营销渠道啦!今天,小管家为大家准备了一大波中秋营销短信模板,活动噱头、折扣福利、感情攻势……都在这啦,赶快收藏起来吧! 活动预热 【xxxx】亲!前1000名下单即享中秋免…

    2022年6月27日
    670
  • macbook投影仪怎么切换,一招教你快速解决

    投影仪(投影机)连笔记本屏幕切换功能键大全: IBM笔记本:FN+F7,屏幕切换(只有在有外接的显示器时有用); 联想笔记本:FN+F3(联想老笔记本为FN+F10); 华硕笔记本:FN+F10; 夏普笔记本:FN+F3; 戴尔笔记本:FN+F8; 三星笔记本:FN+F4; 惠普笔记本:FN+F4; 东芝笔记本:FN+F5; NEC笔记本:FN+F3。 一般笔记本接上投影仪后按键盘上的Fn+F4键…

    2022年9月17日
    2090
  • 家用投影机哪个品牌最好,市面上最好的10款投影推荐

    随着经济的发展,大家对于家庭影音系统已经不满足于传统的电视了,家用投影仪的出现满足了人们对于在家里实现影院级体验的梦想。而普通分辨率的家用投影仪一直被人诟病的是显示清晰度不够细腻,画质不够好,亮度不够高。所以选购家用投影仪,4K分辨率成了一个非常重要的因素,在市面上4K投影仪的品牌中开始纠结。 最终选择了对这台明基TK800M近半个月的体验,那体验到底如何呢? 先说结论,一个字——爽。 首先,明基…

    2022年8月1日
    660
  • 什么牌子沐浴露好用香味持久,十款斩男香水沐浴露推荐

    小幺的小仙女们,你们好啊!知道身为亚洲人的我最心塞的一点是什么吗?就是皮肤太黄,看起来有种病态感,而且一晒就黑很难白回来。 让我不禁想起一首歌:“夏天夏天悄悄过去留下大黑腿,压心底压心底不能告诉你……”小幺最羡慕两种人:一种是皮肤白的人,另一种是皮肤更白的人! 很多小仙女可能把大部分的注意力放在了脸部保养上,往往忽视了对身体肌肤的呵护,所以今天这一篇小幺为大家奉上几款超好用的美白沐浴露。 下面po…

    2022年9月10日
    440
  • 外卖app有哪些,十大外卖平台排名

    对于宅男,宅女和办公室的加班族来说!外卖真的是拯救我们的一大利器,外卖的诞生,让我们有了各种宅下去的理由。不管何时,不管何地,只要你饿了,打开外卖APP就会有送餐小哥把可口的外卖送到你的门前,这种体验真正的感受到了用户就是上帝这句话为什么存在了~同时外卖的诞生,对于上班族来说,每天吃什么也变得多样性起来,想吃什么吃什么,选择性变多了,也更加的适合快节奏的生活。 说起定外卖,也比以前容易的多,以前是…

    2022年6月10日
    1130
  • 小米电视必备安装软件有哪些,几款热门软件推荐

    许多小米4A电视用户往往对于电视上该怎么安装软件感到手足无措,尤其在刚买来智能电视时,想联网看最新的电视剧时,却发现没有自带的系统资源较少,且没有安装相应的影视APP,这时候就需要自己动手去下载安装APP了,但如何下载安装以及安装哪些软件呢?对于大家的这种困扰,就由电视老司机来给大家做个详细介绍。 现在电视端APP方面,老司机给大家推荐3款,都是装机必备的追剧神器,一起来看看有哪些吧! 一.内容精…

    2022年5月25日
    730
  • 怎么刷关键词排名,刷网站关键词代码

    一般来说,用户的点击行为可以分为两种情况:一是用户访问网站后,发现有效价值并继续浏览其他网页,停滞网页时间长或者进行其它操作,称为有效行为;显然另一种对应的操作行为就称为无效行为。 搜索引擎最终目标是提供给用户有价值的信息,这可以从用户的点击行为来分析,通常有效行为点击的网站比无效行为点击的网站更有价值,搜索引擎也会通过研究用户行为数据并用于网站排名,以改善用户的搜索体验。 这样,点击排名软件就出…

    2022年6月7日
    710

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信