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) { ... }
有沒有更簡單的解決方案?