Por que Class.getAnnotation () exige que eu faça um elenco?
Estou usando o Java 1.6.0_25.
Tenho uma anotação definida:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public ,@interface Resource {
String value();
}
E mais tarde, quando eu uso getAnnotation:
Resource resource = (Resource)cls.getAnnotation(Resource.class);
o compilador e o IDE concordam que devo converter o resultado, mas getAnnotation é declarado na documentação do Java 1.5 como:
public <A extends Annotation> A getAnnotation(Class<A> annotationClass);
Como o Resource.class é do tipo Class, parece-me que isso significa que cls.getAnnotation (Resource.class) deve retornar o tipo Resource, e eu preciso convertê-l
Todos os exemplos que encontrei usando getAnnotation não têm elenco, por isso devo estar fazendo algo errad