在类加载时添加枚举值

时间:2019-07-19 19:56:43

标签: java enums

诸如this one之类的文章讨论了如何在运行时创建Enum类的新实例,以测试前向兼容性(例如{{1}的否则无法访问的default分支) }。在我看来,这样做的更好时机应该是在类加载时,以避免破坏诸如switch之类的事情。在处理来自旧版jar的过期枚举时,这也是在生产代码中执行此操作的时间。在维护枚举不变量的同时,将实例添加到枚举类的最简单方法是什么?

2 个答案:

答案 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