在运行时命名变量

时间:2013-07-07 13:16:21

标签: java arraylist

我正在调整一些XML文件并从检索到的值中设置一些关系。在这样做时,我有以下需求:

我有一个像String nextrelation这样的字符串,其值在运行时派生(从xml中提取)。现在,是否可以像这样ArrayList

ArrayList<String> nextrelation(value of the string) = new ArrayList<>();

有点像反思吗? (如果我有道理的话:))。

请建议出路;我希望有一些方法可以实现这一目标。

2 个答案:

答案 0 :(得分:2)

变量名只是程序员的一种便利,在编译代码后甚至无法跟踪。因此,不可能像这样“动态地”命名变量。您可以尝试使用Map来存储标识符 - 值对:

Map<String, ArrayList<String>> map = new HashMap<>();
map.put(nextrelation, new ArrayList<String>());
...

现在,要检索nextrelation对应的列表,您可以使用map.get(nextrelation)

答案 1 :(得分:0)

加入HashMap并使用它如下:

HashMap<String,List<String>> hm = new HashMap<String,List<String>>();

然后您可以在程序中以下列方式使用它:

hm.put(nextrelation(value of the string),List<String>);

hm.get(nextrelation(value of the string));