Student類代碼如下:import java.util.Arrays;import java.util.HashSet;import java.util.Set;public class Student { private String id; private String name; public Set<Course> courses; public Student(String id,String name){ this.id=id; this.name=name; this.courses = new HashSet<Course>();? //等價于HashSet courses = new HashSet();? } public Student(){ this.courses = new HashSet<Course>(); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}Test類代碼import java.util.Arrays;import java.util.Iterator;public class Test { public void TestAdd2() { Student stu = new Student(); Course[] course = { new Course("1", "大學(xué)數(shù)學(xué)"), new Course("2", "大學(xué)英語"), new Course("3", "大學(xué)語文"), new Course("4", "匯編語言") , new Course("5", "大學(xué)數(shù)學(xué)"), new Course("6", "大學(xué)英語"), new Course("7", "大學(xué)語文"), new Course("8", "匯編語言")}; stu.courses.addAll(Arrays.asList(course)); System.out.println(stu.courses.size()); } public void TestForEach2() { Student stu = new Student(); for (Course c : stu.courses) { System.out.println("課程:" + c.getId() + ":" + c.getName()); } } public void testIterator(){ Student stu = new Student(); Iterator it = stu.courses.iterator(); System.out.println("有待選課程如下:(通過迭代器訪問)"); while(it.hasNext()){ Course c = (Course)it.next(); System.out.println(c.getId()+":"+c.getName()); } } public void testRemove(){ Student stu = new Student(); Course[] course={new Course("1", "大學(xué)數(shù)學(xué)"), new Course("2", "大學(xué)英語")}; stu.courses.removeAll(Arrays.asList(course)); System.out.println("成功刪除!"); } public static void main(String[] args) { TestSet ts = new TestSet(); ts.TestAdd2(); ts.TestForEach2(); ts.testIterator(); ts.testRemove(); }}為什么Student中的courses集合沒有成功的添加數(shù)據(jù),得出courses集合長度是1,為什么???????輸出結(jié)果為:1有待選課程如下:(通過迭代器訪問)成功刪除!
1 回答
已采納

慕粉3291149
TA貢獻(xiàn)71條經(jīng)驗(yàn) 獲得超52個贊
你把Student stu = new Student();定義為Test類的成員變量
不然你每個方法中創(chuàng)建一個Student對象 ,操作的是不同的Student對象啊
點(diǎn)擊展開后面2條
添加回答
舉報
0/150
提交
取消