Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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_Java 8_Annotation Processing - Fatal编程技术网

Java 在注释处理期间从类型参数查找注释

Java 在注释处理期间从类型参数查找注释,java,java-8,annotation-processing,Java,Java 8,Annotation Processing,在注释处理过程中,如何在类型参数内声明注释 interface HelloWorld { void fooBar(List<@NonNull String> params); } 在注释处理过程中,如何从'VariableElement'参数获取@NonNull 请参阅您的问题的至少一半-简而言之,TYPE_用法不是这样工作的。我不是100%确定TYPE_参数也以这种方式受到限制,但它确实有意义,因为即使是TypeParameterElement也将其泛型参数/边界公开为Ty

在注释处理过程中,如何在类型参数内声明注释

interface HelloWorld {
   void fooBar(List<@NonNull String> params);
}

在注释处理过程中,如何从'VariableElement'参数获取@NonNull

请参阅您的问题的至少一半-简而言之,TYPE_用法不是这样工作的。我不是100%确定TYPE_参数也以这种方式受到限制,但它确实有意义,因为即使是TypeParameterElement也将其泛型参数/边界公开为TypeMirrors,而不能对其进行注释。相反,我建议您查看编译器插件或任务侦听器方法,看看这是否为您提供了超越简单声明的访问权限。谢谢您的指点!不幸的是,这没有向注释处理器公开。我认为添加了它的JSR308规范要求将它添加到注释处理中,但正如该部分的最后一段所指出的,APT模型必须更新以获得过去的类型及其成员,到目前为止,它似乎只以任务侦听器的形式存在,可以插入注释处理器。
@Retention(RUNTIME)
@Target({TYPE_USE, TYPE_PARAMETER})