![](/img/trans.png)
[英]Java Spring : how can I encapsulate annotations within an other annotation?
[英]Elements of annotation in Java can be array of different annotations?
我正在嘗試用Java創建自定義注釋,問題是是否可以使用“注釋數組”類型的元素創建自定義注釋,並且此數組中的每個元素都將來自不同的類型。
例如:
@MyCustomArrayOfAnnotation({@MyCustomAnnotationType1, @MyCustomAnnotationType2})
如果可能的話,如何聲明這個自定義注釋?
這是不可能的。
Java語言規范的第9.6.1節指出,注釋元素/成員可以是以下類型:
String
Class
這表明注釋可能包含注釋數組。
但是,注釋之間沒有子類型。 因此,注釋只能包含同構數組,而不能包含異類數組。
均質數組的一個示例(允許)是
@MyCustomArrayOfAnnotation({@MyCustomAnnotationType1("a"), @MyCustomAnnotationType1("b")})
異構數組的示例(不允許)是您的示例:
@MyCustomArrayOfAnnotation({@MyCustomAnnotationType1, @MyCustomAnnotationType2})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.