我正在编程插件,我想使其与多个NMS版本的Spigot服务器向后兼容,但问题是我使用的是枚举org.bukit.Material,并且在该服务器的每个版本中都是具有相同软件包的相同软件包枚举名称,但某些版本具有某些枚举值,而其他版本则具有其他。 现在,我无法编译代码,因为我需要使用与旧枚举相同的枚举中的某些值。是使用Reflection解决编译问题的好方法吗?
我的想法是,我将尝试使用反射来访问其值和键,而不是正常使用枚举器,将代码版本划分为if条件,并且如果该插件以旧版本运行,它甚至都不会到那些各种枚举器所在的地方。
我对反射没有太多经验,但是我了解原理。
谢谢您的帮助。