是否可以仅将注释限制为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会导致编译错误,因为他喜欢土地。
答案 0 :(得分:6)
我不确定我是否理解你的问题,但我想你需要这个:
List <Class <? extends Annotation>> x
= new ArrayList <Class <? extends Annotation>> ();
关于第二部分:我想不,因为注释界面不能相互扩展。