是否可以在Java运行时创建变量?
简单回答是不。
Java是一种静态语言,不支持将新的变量声明注入到现有的已编译程序中。有其他选择(以降低有用性/增加难度的顺序):
- 将您的“变量”表示为中的名称/值对
Map
。或者提出一些 不需要 实际动态变量的设计。 - 使用可在JVM上运行并可以从Java调用的脚本语言。
- 使用某种模板机制来生成包含声明的新源代码,并动态编译和加载它。
- 使用字节码操作库(例如BCEL)动态创建类文件,然后动态加载它们。
第一种方法是最好的。Java是一种静态语言,如果您不反对它,则效果最佳。如果这对您来说是个问题,则可能您使用的语言错误。
后两个是困难/复杂的,并且具有很大的性能成本。他们几乎肯定不会帮助…



