首先,Student類的構造方法是這樣的:public Student(String id,String name){?? ??? ?this.id=id;?? ??? ?this.name=name;?? ??? ?this.courses=new HashSet<Course>();?? ??? ??? ?}然后在測試類中,有這樣一個方法:public void testSort3(){?? ??? ?List<Student> studentList=new ArrayList();?? ??? ?studentList.add(new Student(1+"","小明"));?? ??? ?studentList.add(new Student(2+"","小紅"));?? ??? ?studentList.add(new Student(3+"","小蘭"));?? ?}為什么在這個方法中,創建Student對象時,參數中會多了一個+號和一個“”?
1 回答

慕圣0830664
TA貢獻41條經驗 獲得超26個贊
因為Student類的構造方法中,兩個參數都是String類型的。在創建對象的時候,如果直接使用new Student(1, "小明"),編譯器會報錯,1是int類型,而不是String類型,因為參數類型不匹配。而1+""就是將一個int類型轉換成一個字符串,即轉換成String類型,這樣就可以直接調用Student的構造方法了。
添加回答
舉報
0/150
提交
取消