仅允许注释到List中

时间:2010-07-01 23:13:24

标签: java annotations

是否可以仅将注释限制为List? 所以,假设我有两个注释:

(1) Foo.class
(2) Bar.class

在声明List时,我只想允许包含注释,但其他一切都会导致编译错误:

List<Something> list = new ArrayList<Something>();
list.add(Foo.class);
list.add(Bar.class);
list.add(String.class); // bad

如果甚至可以实现上述目的,那么是否可以将其限制为注释类型?我的意思是只允许以某种方式分组的注释。例如,如果我有以下注释:

(1) Shark.class
(2) GoldFish.class
(3) Lion.class

我只想允许生活在水中的注释。因此,将Lion.class添加到List会导致编译错误,因为他喜欢土地。

1 个答案:

答案 0 :(得分:6)

我不确定我是否理解你的问题,但我想你需要这个:

List <Class <? extends Annotation>>  x
    = new ArrayList <Class <? extends Annotation>> ();

关于第二部分:我想不,因为注释界面不能相互扩展。