动态地向现有类添加注释
我有以下课程
public class Person { ... }
我想创建另一个看起来像这样的类。
@SomeAnnotation public class Person { ... }
通过这样一个简单的方法。
public static Class addAnnotation(Class originalType, Class annotation) { // what goes here? }
例如,通过ASM有一种简单的方法吗? 我需要什么依赖项。 我试过谷歌这个但是我发现的例子要么不完整要么正在做其他事情。 其他框架如javassist也同样好。
您可以使用javassist项目。
使用javassist,它看起来像这样:
ClassFile cf = ... ; ConstPool cp = cf.getConstPool(); AnnotationsAttribute attr = new AnnotationsAttribute(cp, AnnotationsAttribute.visibleTag); Annotation a = new Annotation("Author", cp); a.addMemberValue("name", new StringMemberValue("Chiba", cp)); attr.setAnnotation(a); cf.addAttribute(attr); cf.setVersionToJava5();
希望能帮助到你。 阿列克谢
- 如何关闭Stanford CoreNLP Redwood日志记录?
- 在HashMap中,为什么阈值(resize的下一个大小值)是capacity * load factor。 为什么不等于地图的大小或容量
- 如何解决java.lang.string无法使用xml解析器强制转换为java.lang.integer android
- 从Android设备向ESP8266 Wi-Fi芯片发送数据
- 为什么它不直接使用实例字段,而是将其分配给局部变量?
- Java:如何编写`zip`函数? 返回类型应该是什么?
- 为什么更多请求转到新(动态)实例而不是驻留实例?
- 来自Java而不是Firebase控制台的Firebase Cloud Messaging通知
- 使用Android服务处理网络连接
- java,驱动APIv2,appengine 1.7.3,struts2.3.4.1,OAuth2。 TokenResponseException:400 OK invalid_grant
- 有没有办法在Android KitKat中以编程方式阻止SMS?