通过注解处理器 在编译期 获取指定注解的方法
根据方法获取方法上其他的注解及注解的属性和属性值
通过 javapoet 生成类 类生成方法 并把获取到的注解和注解的属性及属性值一并生成
在使用过程中 遇到如下问题 因为 获取到的注解的 属性值为 AnnotationValue 类型
javapoet 中 添加的注解代码为 AnnotationSpec.Builder(注解类).addMember(String name, String format, Object... args)
导致如下问题
如果注解的属性值是数组类型
生成 如:method(@AnnotationName(value="/"v1/",/v2"/"))
正确的应该是 method(@AnnotationName(value={"v1","v2"}))
导致生成的代码是不正确的
如果注解的属性值是其他类型 也存在在问题
请问 javapoet 在生成主角属性值的时候 如何处理AnnotationValue
即 如何能根据AnnotationValue
正确的处理 注解的属性值 能生成正确的代码 ?
如何能判断出AnnotatIonValue 对象对应的值类型是那种?
注解的属性值 包含 基础类型 注解 数组 等