这篇文章主要讲解了“什么是AnnotationVisitor和SignatureVisitor”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是AnnotationVisitor和SignatureVisitor”吧!
AnnotationVisitor是用来访问Annotation的,SignatureVisitor使用来访问签名的;
AnnotationVisitor访问顺序如下:
(visit | visitEnum| visitAnnotation | code visitArray )* visitEnd.
()*可以访问多次,而visitEnd只能访问一次;
visit:访问注解的基本值;
visitEnum:访问注解的枚举类型值;
visitAnnotation:访问嵌套注解类型,也就是一个注解可能被其他注解所注释;
visitArray: 访问注解的数组值;
visitEnd:访问结束通知;
SignatureVisitor用来访问泛型类型的,其访问顺序如下:
类签名ClassSignature:( visitFormalTypeParameter visitClassBound?
visitInterfaceBound* )* (visitSuperclass visitInterface* )
方法签名MethodSignature:( visitFormalTypeParameter visitClassBound?
visitInterfaceBound* )* ( visitParameterType* visitReturnType visitExceptionType* )
域签名FieldSignature: visitBaseType | visitTypeVariable | visitArrayType | ( visitClassType visitTypeArgument* (visitInnerClassType visitTypeArgument* )* visitEnd ) )
visitFormalTypeParameter(final String name):访问正规类型参数;
visitClassBound:访问最后一个被访问的正规类型参数的类界限;
visitInterfaceBound:访问最后一个被访问的正规类型参数的接口界限;
visitSuperclass:访问该类型的超类;
visitInterface:访问该类所实现的接口;
visitParameterType:访问方法参数类型;
visitReturnType:访问方法返回值类型;
visitExceptionType:访问方法异常类型;
visitBaseType:访问基本类型的签名;
visitTypeVariable:访问类型变量的签名;
visitArrayType:访问一个数组类型的签名;
visitClassType:开始访问类或者接口类型的签名;
visitInnerClassType:访问内部类;
visitTypeArgument:访问最后被访问类或者接口的无界限类型参数;
visitTypeArgument(final char wildcard):访问最后被访问类或者内部类的类型参数;
visitEnd:访问结束通知
感谢各位的阅读,以上就是“什么是AnnotationVisitor和SignatureVisitor”的内容了,经过本文的学习后,相信大家对什么是AnnotationVisitor和SignatureVisitor这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。