【问题标题】:Is there a way to use a single annotation for multiple variables? [duplicate]有没有办法为多个变量使用单个注释? [复制]
【发布时间】:2019-07-11 05:48:30
【问题描述】:

有没有办法在 Java 中为多个变量使用单个注解?我有一个包含大量变量的类,它们都需要相同的注释,虽然我可以一遍又一遍地复制粘贴相同的注释,但我担心这会影响代码的可读性。

我尝试到处搜索,但没有找到任何东西,这让我相信这可能是不可能的,但最好是这样; 而不是:

@Annotation
int var1;
@Annotation
int var2;
...

类似:

@Annotation:
   int var1;
   int var2;
...

或许

@Annotation {
    int var1;
    int var2;
}

【问题讨论】:

    标签: java scope annotations


    【解决方案1】:

    这取决于您使用的使用这些注释的库是否支持类级别注释。

    例如,使用jackson 库,您可以提供类级别的变量列表:

    @JsonIgnoreProperties({ "bookName", "bookCategory" })
    public class Book {
    

    而不是在单个字段上写入@JsonIgnore

    【讨论】:

    • 有问题的注释没有这样的功能。有什么方法可以让我创建一个新的注释来使用旧的注释来完成类似的任务?
    • 可能。您必须重写库类(假设它不是最​​终的并且可访问)以使其理解您的自定义注释。但我认为最好保持简单,重复使用给定的注释。
    【解决方案2】:

    您可以将相同类型的变量分组并在一行上声明它们,并将注释应用于所有变量。

    @Annotation
    int var1, var2, var3;
    

    【讨论】:

    • 对不起,我现在看到问题不是很清楚,但就我而言,我实际上有许多不同类型的变量。 int、String、MyClass[] 等...例如。
    猜你喜欢
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 2021-09-10
    • 2013-10-11
    相关资源
    最近更新 更多