在Java中是否可以将注释值存储在一个常量字段(或类似字段)中,以便在需要的每种方法上重用它?
例如,如果我有此带注释的方法:

@CustomAnnotations({
    @CustomAnnotation(..),
    @CustomAnnotation(..),
    @CustomAnnotation(..),
    @CustomAnnotation(..),
    ...
    @CustomAnnotation(..)
})
private static MyReturnValue doSomething(){
    ..
}

并且我想在同一类中的许多方法中添加相同的批注,而无需为每个方法剪切并粘贴,是否可以定义一个像这样的字段:
private static final Something annotationsConstant = {
    @CustomAnnotation(..),
    @CustomAnnotation(..),
    @CustomAnnotation(..),
    @CustomAnnotation(..),
    ...
    @CustomAnnotation(..)
}

@CustomAnnotatins(annotationsConstant)
private static MyReturnValue doSomething(){
    ..
}

@CustomAnnotatins(annotationsConstant)
private static MyReturnValue anotherMethod(){
    ..
}

如果是,包含注释的字段的dataType是什么?
如果没有,那没有另一种方法,而无需为每个方法重写相同的注释?

最佳答案

听起来您想要一个注释扩展其他注释。
可悲的是,这在Java中是不可能的。例如参见this question

但是,有一些方法可以实现类似的目的。尝试研究Spring compose annotations的方式。

10-05 23:20