为了账号安全,请及时绑定邮箱和手机立即绑定

不理解这行代码为什么会是这样:

不理解这行代码为什么会是这样:

死神的苹果 2018-01-03 23:02:52
首先,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的构造方法了。

查看完整回答
反对 回复 2018-01-03
  • 1 回答
  • 0 关注
  • 960 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信