Java是否支持变量变量?

时间:2009-06-03 13:15:33

标签: java

例如在PHP中:

<?php
$a = 'hello';
$$a = 'world';

echo $hello;
// Prints out "world"
?>

我需要动态创建一个未知数量的HashMaps(每个都放在一个arraylist中)。请说是否有更简单或更以Java为中心的方式。感谢。

5 个答案:

答案 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)

你不能!

没有直接的方法。数组,反射等可以提供帮助。