0

有没有办法将变量名称添加到变量中?例如int number = 1;String tree;并且知道我想将数字添加到字符串名称中,这样它就会变成 tree1

4

2 回答 2

1

你不,基本上:

  • 如果您想要一组由连续数字索引的值,请使用 aList或数组。
  • 如果您想要一个由其他东西(例如字符串)索引的值的集合,请使用Map.

每当您发现自己想要 等的变量名称时foo1,请foo2考虑改用集合。这几乎总是一种更好的方法。

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

于 2013-08-14T13:52:46.887 回答
0

你不能。

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]);
}
于 2013-08-14T13:54:23.127 回答