Java 无法调用批注的值方法
我有这个:Java 无法调用批注的值方法,java,annotations,java-annotations,Java,Annotations,Java Annotations,我有这个: public class Bootstrapper { public static List<Class<? extends Annotation>> annots = Arrays.asList( NotNull.class, ColumnType.class, RuntimeType.class, DefaultValue.class ); } 我查看了源代码,field.getAnnotation()方法如下所示
public class Bootstrapper {
public static List<Class<? extends Annotation>> annots = Arrays.asList(
NotNull.class,
ColumnType.class,
RuntimeType.class,
DefaultValue.class
);
}
我查看了源代码,field.getAnnotation()方法如下所示:
public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
Objects.requireNonNull(annotationClass);
return (Annotation)annotationClass.cast(this.declaredAnnotations().get(annotationClass));
}
publicGetAnnotation(类annotationClass){
Objects.requirennull(注释类);
return(Annotation)annotationClass.cast(this.declaredAnnotations().get(annotationClass));
}
annotation类没有value()
method:true值方法由扩展annotation的每个类提供,而不是每个类。仅在支持ValuesA的特定类中,我需要为具有value方法的每个注释添加一个接口,duh注释类没有value()
method:true扩展注释的每个类都提供value方法,而不是每个类。只有在支持valuesAh的特定类中,我需要为每个具有value方法duh的注释添加一个接口
Object value= field.getAnnotation(ColumnType.class).value(); // compiles!
public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
Objects.requireNonNull(annotationClass);
return (Annotation)annotationClass.cast(this.declaredAnnotations().get(annotationClass));
}