首先,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
提交
取消