是否可以在运行时向对象(特别是方法)添加注释?需要更多说明:我有两个模块,模块A和模块B。moduleB依赖于moduleA,而它不依赖任何东西。(modA是我的核心数据类型和接口,而modB是数据库/数据层)modB也取决于externalLibrary。以我为例,modB将一个类从modA传递到externalLibrary,这需要注释某些方法。具体的注释都是externalLib的一部分,正如我所说,modA不依赖于externalLib,我想保持这种方式。那么,这是否可能,或者您对解决此问题的其他方式有建议吗?
3 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
可以通过字节码检测库(例如Javassist)来实现。
特别是,请查看AnnotationsAttribute类,以获取有关如何创建/设置注释的示例,以及有关字节码API的教程部分,以获取有关如何操作类文件的一般准则。
不过,这不是简单而直接的任何事情-我不建议您采用这种方法,而是建议您考虑Tom的答案,除非您需要对大量类进行此操作(或者说这些类直到运行时才可用,因此编写适配器是不可能的)。
添加回答
举报
0/150
提交
取消
