我有一个具有一些属性的类,并且它们使用一个自定义注释进行注释,我希望它的信息在另一个类中。
如何创建检索注释实例以及如何获取其额外信息?
我的源代码:
/**custom annotation **/
public @interface Info {
public String name();
}
/**class where i used custom annotation **/
class ABC {
@Info(name="Institution Name")
private String Name;
}
答案 0 :(得分:0)
您需要使用保留政策RetentionPolicy.RUNTIME
制作注释,以便能够在RUNTIME上加入您的注释。
@Retention(RetentionPolicy.RUNTIME)
public @interface Info {
public String name();
}
之后,您必须使用this.getClass().getDeclaredField("name")
才能获得字段。您可以使用getAnnotation(Info.class)
方法获取注释。您将获得注释的实例,并且您将能够加入其信息。
https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#getDeclaredField-java.lang.String- https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#getAnnotation-java.lang.Class-