Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法调用批注的值方法_Java_Annotations_Java Annotations - Fatal编程技术网

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));
  }