使用Java注释处理器查找带注释方法的方法参数?
我有以下注解:使用Java注释处理器查找带注释方法的方法参数?,java,annotations,annotation-processing,Java,Annotations,Annotation Processing,我有以下注解: @Target(ElementType.METHOD) public @interface MyAnn { } 以及一个用@MyAnn注释的方法: @MyAnn Object myMehtod(Object x) { ... } 使用Java注释处理器,我得到的注释元素如下: Element annotatedElement // = myMehtod 如何获取此方法的返回类型? 如何获取此方法的参数? 如何获取此方法的参数名称? 以下是我的解决方案: E
@Target(ElementType.METHOD)
public @interface MyAnn {
}
以及一个用@MyAnn
注释的方法:
@MyAnn
Object myMehtod(Object x) {
...
}
使用Java注释处理器,我得到的注释元素如下:
Element annotatedElement // = myMehtod
ExecutableType executableType = (ExecutableType)annotatedElement.asType();
List<? extends TypeMirror> parameters = executableType.getParameterTypes();
TypeMirror param1 = parameters.get(0);
DeclaredType declaredType = (DeclaredType)param1;
List<? extends AnnotationMirror> anns = ((TypeElement)declaredType.asElement()).getAnnotationMirrors( );
ExecutableType ExecutableType=(ExecutableType)AnnotateDelete.asType();
列表以下是我的解决方案:
ExecutableType executableType = (ExecutableType)annotatedElement.asType();
List<? extends TypeMirror> parameters = executableType.getParameterTypes();
TypeMirror param1 = parameters.get(0);
DeclaredType declaredType = (DeclaredType)param1;
List<? extends AnnotationMirror> anns = ((TypeElement)declaredType.asElement()).getAnnotationMirrors( );
ExecutableType ExecutableType=(ExecutableType)AnnotateDelete.asType();
列表
您可以使用
TypeMirror returnType = mehod.asType()
List<? extends VariableElement> parameters = method.getParameters();
您可以使用
TypeMirror returnType = mehod.asType()
List<? extends VariableElement> parameters = method.getParameters();
您可以使用
TypeMirror returnType = mehod.asType()
List<? extends VariableElement> parameters = method.getParameters();
您可以使用
TypeMirror returnType = mehod.asType()
List<? extends VariableElement> parameters = method.getParameters();
ExecutableType ExecutableType=(ExecutableType)AnnotateDelete.asType()代码>导致我出现编译器错误。类型不兼容。ExecutableType ExecutableType=(ExecutableType)AnnotateDelete.asType()代码>导致我出现编译器错误。类型不兼容。