-2

我无法将对象存储在ArrayList.

我想ArrayList用一个名为Variable. 它有 2 个字符串属性:名称和值。问题是当我Variable向列表中添加一个新对象时,之前添加的Variable对象的属性似乎为空。此外,新对象不会被添加到列表的末尾,而是被插入到第一个位置。

这是代码:

ArrayList<Variable> variables = new ArrayList<Variable>();

Variable author = new Variable();
author.setName("Author");
author.setValue("lusyo"); 

variables.add(author);

System.out.println(variables.get(0).getName());

Variable scenario = new Variable();
author.setName("Scenario");
author.setValue("Login"); 

variables.add(scenario);

System.out.println(variables.get(0).getName());
System.out.println(variables.get(1).getName());

输出是:

Author
Scenario
null

如您所见,scenario它位于索引 0 处,但不应该如此。我无法弄清楚这段代码发生了什么。

预先感谢您的帮助 !

4

3 回答 3

4
Variable scenario = new Variable();
author.setName("Scenario");
author.setValue("Login");

那里有什么打扰你吗?:)

于 2012-06-18T07:46:18.330 回答
3

您正在设置作者变量属性两次 :) 一次在这里

Variable author = new Variable();
author.setName("Author");
author.setValue("lusyo"); 

然后 :

Variable scenario = new Variable();
author.setName("Scenario");
author.setValue("Login"); 

但是您从不设置场景属性。

试试这个 :

Variable scenario = new Variable();
scenario.setName("Scenario");
scenario.setValue("Login"); 
于 2012-06-18T07:45:33.077 回答
3

错误在那里,你会发现它:

Variable scenario = new Variable();
author.setName("Scenario");
author.setValue("Login"); 
于 2012-06-18T07:46:04.820 回答