使用java我可以编写类似的东西
public <T extends Enum> getValue (Class<T> clazz) {}
有没有办法不从Enum参数化,而是从Annotation进行参数化?所以我想写下这样的例子:
public <T extends @interface> getValue (Class<T> clazz) {}
我的目标是在编译时确保 clazz
变量是注释。有任何想法吗? (在方法中调用class.isAnnotation
除外)
答案 0 :(得分:1)
是的,所有注释类型都是java.lang.annotation.Annotation
的子类。
所有注释类型扩展的通用接口。
使用
public <T extends Annotation> void /* or whatever */ getValue (Class<T> clazz) {}