在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的方式。