@Deprecated作用
Posted 宁静致远
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Deprecated作用相关的知识,希望对你有一定的参考价值。
今天看代码发现带删除线的,就去查了下资料,记录下:
简单来讲就是,若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。
或许有人会问,为什么会出现加这个注解呢,直接在写方法的时候定义一个新的不就好了吗?
因为在一个项目中,工程比较大,代码比较多,而在后续开发过程中,可能之前的某个方法实现的并不是很合理,这个时候就要新加一个方法,而之前的方法又不能随便删除,因为可能在别的地方有调用它,所以加上这个注解,就方便以后开发人员的方法调用了。
日常笔记:@Deprecated注解的作用及使用
人世仙家本自殊,何须相见向中途。惊鸿瞥过游龙去,漫恼陈王一事无。
嗨,大家好,我是洛神,性别男。一个来自快乐星球的程序员。
欢迎大家专注我的公众号【程序员洛神】,不仅分享技术,还会分享生活趣事、体育。
前言
这几天在看网上的一些项目的时候,发现一些接口中使用了@Deprecated注解,自己在项目中并未实际使用到,于是去网上搜索了一下这个注解,特此记录。
正文
阿里规约: 外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方产生影响。接口过时必须加 @Deprecated 注解,并清晰地说明采用的新接口或新服务是什么。
其实也没什么,这个注解的作用简单来讲就是,如果项目中的某些类或接口废弃了,或者说是被新版本迭代替换掉了,就可以使用此注解来标注;或者是新老接口兼容时,可以用此注解,代表此接口不建议调用。哪怕你调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。
其实看完这个注解的作用之后,我的第一想法就是,神经病!项目里接口迭代直接替换,或者新写一个让前端重新调用不就行了,为啥还弄个这注解。但是仔细一想,如果一个项目中的接口和代码比较多,而在后续开发过程中,可能之前的某个方法实现的并不是很合理,这个时候就要迭代一个新的方法去实现功能,然鹅公司规定之前的方法又不能随便删除,因为可能在别的地方有调用它,所以加上这个注解,一举两得,实在是妙啊!
结尾
人世仙家本自殊,何须相见向中途。惊鸿瞥过游龙去,漫恼陈王一事无。 我是洛神,我们下期见。
以上是关于@Deprecated作用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用#[deprecated] 以向后兼容的方式重命名公共结构?
解决Deprecated: preg_replace(): The /e modifier is deprecated, use