【发布时间】:2017-07-26 13:45:25
【问题描述】:
这段代码可以检查一个类是否被弃用
@Deprecatedpublic classRetentionPolicyExample{
public static void main(String[] args){
boolean isDeprecated=false;
if(RetentionPolicyExample.class.getAnnotations().length>0){
isDeprecated= RetentionPolicyExample.class
.getAnnotations()[0].toString()
.contains("Deprecated");
}
System.out.println("is deprecated:"+ isDeprecated);
}
}
但是,如何检查是否有变量被注释为已弃用?
@DeprecatedStringvariable;
【问题讨论】:
-
小心
.getAnnotations()[0],因为一个类可能有多个注释 -
@Hernán,你有一个类,你想检查它是否至少有一个字段,标记为@Deprecated?
-
检索类的字段 - 然后使用
Field::getAnnotations? -
@VadymPechenoha 我在想具体的变量检查,但你说的可以检查每个字段,也可以
-
@assylias 谢谢,现在测试 Field 类,如答案中所示
标签: java reflection annotations deprecated