今天偶然在项目中注意到一个注解:@Deprecated
1. 说明:
@Deprecated 表示此方法已废弃、暂时可用,但以后此类或方法都不会再更新、后期可能会删除,建议后来人不要调用此方法。
2. 用法:
此注解可用于类上、方法上、属性上。
通常在给定此注解后,应该在方法注释中同样说明:废弃此方法后的代替方法是哪个、处理原逻辑代替方案是什么 、本身不打算代替,而是直接清除的,则最好给出会清除此方法的具体代码版本号 。
3. 相似注解: @deprecated :
有此注解后,Javadoc 工具生成文档时会标注此类/接口、方法、字段已经被废止。
4. 调用有 @Deprecated 注解的方法的风险:
可能导致错误、可能在以后版本中代码不兼容、可能在以后版本中原方法已被删除、可能已有更优的方案取代它。
坚持调用时,开发工具也会在调用处方法上加上横线,划掉方法:表示被调用方法已经过时。
5. Java 9 中注解增加了两个新元素:
since
和
forRemoval
。
since: 指定已注解的API元素已被弃用的版本。
forRemoval: 表示在将来的既定版本中会被删除,应该迁移 API。
@Deprecated(since = "1.2", forRemoval = true)
http://www.cnblogs.com/acm-bingzi/p/javaDeprecated.html
https://www.runoob.com/java/java9-enhanced-deprecated-annotation.html
https://www.cnblogs.com/jiahuafu/p/5805691.html
今天偶然在项目中注意到一个注解:@Deprecated1. 说明:@Deprecated 表示此方法已废弃、暂时可用,但以后此类或方法都不会再更新、后期可能会删除,建议后来人不要调用此方法。2. 用法:此注解可用于类上、方法上、属性上。通常在给定此注解后,应该在方法注释中同样说明:废弃此方法后的代替方法是哪个、处理原逻辑代替方案是什么 、本身不打算代替,而是直接清除的,则最好...
注解
目前非常的流行,很多主流框架都支持
注解
,而且自己编写代码的时候也会尽量的去用
注解
,一时方便,而是代码更加简洁。
注解
的语法比较简单,除了@符号的
使用
之外,它基本与Java固有语法一致。Java SE5内置了三种标准
注解
:
@Override,表示当前的方法定义将覆盖超类中的方法。
@
Deprecated
,
使用
了
注解
为它的元素编译器将发出警告,因为
注解
@
Deprecated
是不赞成
使用
的代码,被弃用的代码。
@SuppressWarnings,关闭不当编译器警告信息。
上面这三个
注解
多少我们都会在写代码的时候遇到。Java还提供了4中
注解
,专门负责新注
随着项目的迭代和更新,项目中的类、方法或者字段不建议大家继续
使用
。
@
Deprecated
表示此方法已废弃、暂时可用,但以后此类或方法都不会再更新、后期可能会删除,建议后来人不要调用此方法。一般我们都需要在有这个
注解
上面添加文字
说明
,当前功能应该
使用
何种方法达到同样的效果例如:
* Allows a model property to be designated as read only.
* @
deprecated
As of 1.5.19, repl
java
注解
注解
的介绍
提到
注解
,我们会不由的想到注释,其实
注解
和注释不是一个东西,注释的作用就是解释代码,方便理解和阅读,说白了就是给程序员看的。而
注解
则不是,
注解
的作用比较大,可以进行编译检查、生成doc文档或者进行代码分析。
java语言中的类、方法、变量等都可以被标注。java标注可以通过反射获取标注内容,在编译器生成类文件时,标注可以被嵌入到字节码中。虚拟机可以保存标注内容,在运行时可以获取到标注内容。
java 预定义中的
注解
@Override:
重写或者实现父类或者接口中的方法时,会出现这个
注解
,强制格式检查
@
Deprecated
标注当前方法已经过时。
@Suppres
默认
注解
:@
Deprecated
@Override ...
自定义
注解
:public @interface FirstAnno {} #@interface
元
注解
:加在自定义
注解
的类接口上
@Retention(RetentionPolicy.RUNTIME )
SOURCE 给编译器看的# 源码存在,字节码不存在
CLASS 给虚拟机的类加载器看的,#源码,.class存在,
RUNTIME 用于反射 #源码,.class 字节码 存在
@Documented 这个
注解
可以让生成的文档,有
注解
的注释,默认是没有
注解
的注释
所有的@Override
注解
上,都显示为:
在idea中,查看Override的代码,发现增加了@
Deprecated
@Target(ElementType.METHOD)的
注解
。
而打开源码文件,里面的代码中没有这一行@
Deprecated
@Target(ElementType.METHOD).
应当是idea主动给添加的一行代码,影响范围时id...
解决:Caused by: redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key
解决:Unexpected token (START_OBJECT), expected START_ARRAY: need JSON Array to contain As.WRAPPER_ARRA