2012-06-18 223 views
-2

我无法将对象存储在ArrayList中。ArrayList遇到问题

我想用一个简单的对象Variable来填充ArrayList。它有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,但它不应该是。我无法弄清楚这段代码是怎么回事。

非常感谢您的帮助!

+0

尝试添加20左右,然后用循环迭代它并告诉我们输出是什么。 – razielsarafan

回答

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

做任何事情打扰你吗? :)

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"); 
+0

对不起,这只是我在复制代码时所犯的错误 – LuSyo

+1

@LuSyo - 请用正确的代码更新您的问题。 – Leigh

3

误差是存在的,你会发现它:

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