3

我认为这是不可能的,但也许我错了。所以我问你,是否可能。;-)

如果我定义一个仅接受类引用的注释,该类引用扩展了一些可能的接口或类:

 Class<? extends ServiceProviderIF> serviceIFProvider();

在这个注释中,我只能添加一些扩展 ServiceProviderIF 的类。我的问题:另一个注释也可以这样定义吗?这意味着使用类似这样的伪代码

 Class<? contains AnnotationXYZ> classReferences();

AnnotationXYZ 是另一个注释定义。并且应该添加的类只有通过包含此注释才能被接受。

TIA 和最好的问候,奥利

4

2 回答 2

3

不,这是不可能的。泛型类型只接受类型。并且注释不定义类型。

于 2012-06-13T09:27:10.893 回答
3

不可能。可以在任何类型(类、接口)上设置注释,但 Java 方法不能返回包含来自不同层次结构的类型的多类型。换句话说,您应该将所有具有注释的类AnnotationXYZ放在某个接口或类下的同一层次结构中Blabla,然后使用类型<? extends Blabla>通配符。

于 2012-06-13T09:58:35.387 回答