黑马程序员技术交流社区

标题: 如下是比较器Comparable的compareTo的方法! [打印本页]

作者: guanxiangliang    时间: 2014-8-6 21:32
标题: 如下是比较器Comparable的compareTo的方法!
        public int compareTo(Student s){
                int num = this.getSum() - s.getSum();
                return sum == 0 ? this.getName().compareTo(getName()):num
这个代码有问题吗?



作者: 黎志勇    时间: 2014-8-6 21:56
return sum == 0 ? this.getName().compareTo(getName()):num

num吧。
作者: m313786372    时间: 2014-8-6 22:36
首先强烈建议看完毕老师前7天视频的朋友换用Eclipse,能省去各种查低级错误的时间。
(当然从锻炼手写代码能力角度来说,越晚用越好)

然后代码……
首先如果是override的话,传入参数得是Object类型。
那么前面要加一步判断传入参数是否为Student类型的步骤。
借着如果是Student类型,调用getSum和getName方法要先把Object s 强转为Student。
另外你的num写成sum了……
最后比较name的代码里compareTo传入的是直接调用的getName方法,返回的是this对象的name,所以永远比出来0,要改成s.getName


怎么样,少年,我看你天庭饱满、骨骼清奇,跟我一起用Eclipse如何?

作者: azybjbajzc    时间: 2014-8-6 22:58
同意同意,,




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