????如上图,在使用自定义注解的过程中发现一个不太理解的现象,求大佬指教!getAnnotation方法返回一个A类型的结果,我在hh这个参数的引用明确指定了泛型为MyAnnotation,但是在后面调用getAnnotation时依旧需要强转,这让我非常困惑...另外我还发现使用Annotation引用去指向getAnnotation方法时不需要强转...
源代码下面附上
@MyAnnotation("heihei")
public class TestAnnotation {
public void use(){
Class clazz=TestAnnotation.class;
Class<MyAnnotation> hh=MyAnnotation.class;
try {
Method method=clazz.getMethod("use");
MyAnnotation an=(MyAnnotation) clazz.getAnnotation(hh);
String vl=an.value();
System.out.println(vl);
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TestAnnotation t= new TestAnnotation();
t.use();
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…