诸如this one之类的文章讨论了如何在运行时创建Enum类的新实例,以测试前向兼容性(例如{{1}的否则无法访问的default
分支) }。在我看来,这样做的更好时机应该是在类加载时,以避免破坏诸如switch
之类的事情。在处理来自旧版jar的过期枚举时,这也是在生产代码中执行此操作的时间。在维护枚举不变量的同时,将实例添加到枚举类的最简单方法是什么?
答案 0 :(得分:0)
您可以在类加载时间Guide to Java instrumentation
中尝试使用Java Agent答案 1 :(得分:0)
您可以为此使用BeanShell或Groovy。 Groovy doc:http://docs.groovy-lang.org/latest/html/documentation/guide-integrating.html