1
我知道there is no java annotation inheritance。但是有可能在java中做类似的事情吗?java注释组成
@TopAnnot({
@SubAnnot("value1"),
@SubAnnot("value2"),
@AnotherSubAnnot("value3"),
@SubAnnot("value4")
})
public void aMethod(String param) { ... }
的@SubAnnot
的顺序和@AnotherSubAnnot
是很重要的。
因此,下面的解决方案,将不具有相同的含义,因为我不能保持注释的顺序:
@TopAnnot(
subAnnot = {
@SubAnnot("value1"),
@SubAnnot("value2"),
@SubAnnot("value4")
},
annotherAnnot = {
@AnotherSubAnnot("value3")
}
)
public void aMethod(String param) { ... }
另一种解决方案应该是下面的,但它是更为复杂写,不太容易理解:
@TopAnnot({
@MyAnnot(type=AnnotType.SubAnnot, value = "value1"),
@MyAnnot(type=AnnotType.SubAnnot, value = "value2"),
@MyAnnot(type=AnnotType.AnnotherSubAnnot, value = "value3"),
@MyAnnot(type=AnnotType.SubAnnot, value = "value3")
})
public void aMethod(String param) { ... }
有没有更简单的解决方案?