我认为这是不可能的,但也许我错了。所以我问你,如果可能的话。 ; - )
如果我定义一个只接受类引用的注释,它可以扩展某些接口或类:
Class<? extends ServiceProviderIF> serviceIFProvider();
在这个注释中我只能添加一些扩展ServiceProviderIF的类。 我的问题:这样的定义是否也适用于另一个注释?这意味着伪代码就像这样
Class<? contains AnnotationXYZ> classReferences();
AnnotationXYZ是另一个注释定义。并且只有通过包含此注释才能接受应添加的类。
TIA和最好的问候,Oli
答案 0 :(得分:3)
不,这是不可能的。泛型类型只接受类型。并且注释不定义类型。
答案 1 :(得分:1)
这是不可能的。可以在任何类型(类,接口)上设置注释,但Java方法不能返回包含来自不同层次结构的多类型类型。换句话说,您应该将具有注释AnnotationXYZ
的所有类放在某个接口或类Blabla
下的同一层次结构中,然后使用类型<? extends Blabla>
通配符。