例如在PHP中:
<?php
$a = 'hello';
$$a = 'world';
echo $hello;
// Prints out "world"
?>
我需要动态创建一个未知数量的HashMaps(每个都放在一个arraylist中)。请说是否有更简单或更以Java为中心的方式。感谢。
答案 0 :(得分:12)
你能做的最好的就是拥有HashMaps的HashMap。例如:
Map<String,Map<String,String>> m = new HashMap<String,Map<String,String>>();
// not set up strings pointing to the maps.
m.put("foo", new HashMap<String,String>());
答案 1 :(得分:1)
Java不支持您在PHP中所做的事情。
要做类似的事情,您应该制作List<Map<>>
并将HashMap
存储在那里。您可以使用HashMap
的{{1}}。
Java中的“变量变量”是一个数组或List或某种不同大小的数据结构。
答案 2 :(得分:1)
没有。你会做类似
的事情List<Map<String,String> myMaps = new ArrayList<Map<String,String>>()
然后在你的循环中你会做:
Map<String,String> newMap = new Hashtable<String,String>();
//do stuff with newMap
myMaps.add(newMap);
答案 3 :(得分:0)
它在java中不称为变量变量。
它被称为反射。
有关详细信息,请查看java.lang.reflect包文档。
你可以使用反射做所有这些事情。
Bestoes,
JRH。
答案 4 :(得分:-2)
你不能!
没有直接的方法。数组,反射等可以提供帮助。