A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        public int compareTo(Student s){
                int num = this.getSum() - s.getSum();
                return sum == 0 ? this.getName().compareTo(getName()):num
这个代码有问题吗?


4 个回复

正序浏览
同意同意,,
回复 使用道具 举报
首先强烈建议看完毕老师前7天视频的朋友换用Eclipse,能省去各种查低级错误的时间。
(当然从锻炼手写代码能力角度来说,越晚用越好)

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


怎么样,少年,我看你天庭饱满、骨骼清奇,跟我一起用Eclipse如何?
回复 使用道具 举报
return sum == 0 ? this.getName().compareTo(getName()):num

num吧。

点评

黎神。。。。  发表于 2014-8-6 22:43
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马