如何向变量名称中添加变量?JAVA

如何向变量名称中添加变量?JAVA,java,string,variables,int,Java,String,Variables,Int,有没有办法在变量名称中添加一个变量?例如int number=1和字符串树并知道我想将数字添加到字符串名称中,这样会使tree1基本上不会: 如果要将一组值按连续数字编入索引,请使用列表或数组 如果您想让一组值被其他对象(例如字符串)索引,请使用映射 >当您发现自己需要变量名 Foo1, FoO2等时,请考虑使用集合来代替。这几乎总是一个更好的方法 您可以使用反射()按名称获取字段(但不是局部变量),但这很少是一种有用的方法。不,您不能 int x = 1; String tree + x

有没有办法在变量名称中添加一个变量?例如
int number=1
字符串树并知道我想将数字添加到字符串名称中,这样会使tree1

基本上不会:

  • 如果要将一组值按连续数字编入索引,请使用
    列表
    或数组
  • 如果您想让一组值被其他对象(例如字符串)索引,请使用
    映射
<> >当您发现自己需要变量名<代码> Foo1,<代码> FoO2等时,请考虑使用集合来代替。这几乎总是一个更好的方法

您可以使用反射()按名称获取字段(但不是局部变量),但这很少是一种有用的方法。

不,您不能

int x = 1;
String tree + x = "tree1" // not valid
但是,在执行concat操作后,可以使用列表或映射并填充项或键

示例:

final List<String> values = new ArrayList<String>();

for(int i = 1; i <= 5; i++){    
    values.add("tree" + i);
}

final Map<String, String> map = new HashMap<String, String>();

String[] trees = {"Apple Tree", "Banana Tree", "Grape Tree", "Orange Tree", "Binary Tree"};

for(int i = 1; i <= 5; i++){    
    map.put("tree" + i, trees[i - 1]);
}
final List value=new ArrayList();

对于(int i=1;i)您需要一个数组、列表或映射。在Java中不能这样做。但是您可以使用
map
来存储变量的映射。您想做什么?好的,我如何在映射中执行操作???@RohitJain“不能”考虑到反射的存在,它有点强。@AndyThomas不是在运行时重新分配值,而不是在编译时用另一个变量的值创建变量名吗?反射允许获取和设置字段的值。“不能”如果OP询问如何在运行时创建一个新变量,这将是合适的,但如果OP询问如何在运行时通过动态名称访问字段,则会有点强。@Andythonas在这种情况下,是的,我同意。。但我回答的问题是:“有没有办法在变量名称中添加变量?”这个问题可以用多种方式来解释。我们在事实上是一致的。