【发布时间】:2015-09-11 11:25:53
【问题描述】:
我的问题是在将对象添加到具有不同值的集合之前是否必须重新初始化它?
我编写了一个简单的程序来突出我的意思。
为什么第一个值(Bravo,1)在下面的例子中被覆盖
s1 = new student();
类内TestStudent类被注释
学生班
public class student {
String name;
int id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Override
public String toString() {
return this.getName() + " " + this.getId();
}
}//close student
TestStudent 班级
public class TestStudent {
public static void main(String args[]){
student s1 = new student();
List<student> studlist = new ArrayList<student>();
s1.setId(1);
s1.setName("Bravo");
studlist.add(s1);
//output is as expected when the below line in uncommented.
s1 = new student();
s1.setId(2);
s1.setName("charlie");
studlist.add(s1);
System.out.println( Arrays.toString(studlist.toArray()) );
}//psvm
}//end class
第 s1 行的输出 = new student();已评论
[查理 2,查理 2]
第 s1 行的输出 = new student();未注释
[布拉沃 1,查理 2]
【问题讨论】:
标签: java list jakarta-ee arraylist collections