有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中实现注释是个坏主意吗?

目前我一直在思考这个问题,但是,我找不到一个合适的答案。当前的用例是为特定的自定义注释创建一个实现类,这样在运行时我就可以简单地生成它而不是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实际上总是注释的副本

我的问题是,如果有的话,它们的优点和缺点是什么?我这样问是因为我自己还没有看到注释的实现


共 (1) 个答案