目前我一直在考虑这个问题,但我找不到合适的答案。手头的用例是为特定的自定义注释创建一个实现类,以便在运行时我可以简单地生成它而不是POJO。
例如:
注解:
@interface CustomAnnotation {
String date();
}
在这个阶段,我需要一个恰好与注释具有相同字段的bean。在这里,我有两个选项可以实现注释并在运行时创建它,也可以创建一个类来传递信息。
A)注释的实现:
public class CustomAnnotationImpl implements CustomAnnotation {
private final String date;
public CustomAnnotationImpl(String date) {
this.date = date;
}
@Override
public String date() {
return this.date;
}
@Override
public Class<? extends Annotation> annotationType() {
return CustomAnnotation.class;
}
}
B)
public class CustomBean {
private final String date;
public CustomAnnotationImpl(String date) {
this.date = date;
}
public String getDate() {
return this.date;
}
}
还要记住,bean和注释将始终保持同步,这意味着bean实际上将始终是注释的副本。
我的问题是,如果有的话,那些优点和缺点是什么?我问这个是因为我自己没有看过注释的实现。
我不明白你的问题,但看起来其他人已经问过这样的问题了。