黑马程序员技术交流社区

标题: 比较器中覆盖ComparaTo方法的问题 [打印本页]

作者: 吴建昆    时间: 2013-5-16 23:53
标题: 比较器中覆盖ComparaTo方法的问题
本帖最后由 吴建昆 于 2013-5-18 01:26 编辑

比较器,视频中老师是这样讲的
return new Integer(s1.getAge()).comparaTo(new Integer(s2.getAge()));
那可不可以用这种方式?
return s1.getAge().comparaTo(s2.getAge());

麻烦指点一下。
作者: 刘学明       时间: 2013-5-17 00:20
不可以,
return new Integer(s1.getAge()).comparaTo(new Integer(s2.getAge()));  
//这是把基本数据类型封装成包装类,只有包装类中才有CompareTo方法。

return s1.getAge().comparaTo(s2.getAge());
//getAge()得到的是基本数据类型 它们之间没有CompareTo的方法,这也就是为什么需要封装成包装类,
作者: 黑马-许鹏    时间: 2013-5-17 03:12
楼上正解,用Integer类建立的对象有compareTo方法,基本类型没有。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2