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

为什么我想通过compare方法实现比较2个属性来排序的方法不对呢

public int compare(Student o1, Student o2) {

// TODO Auto-generated method stub

if(o1.id!=o2.id)

return o1.id.compareTo(o2.id);

return o1.name.compareTo(o2.name);


}

想要按照ID排序,如果ID相同则按照name排序,但是结果当中ID相同的部分,name却不是顺序排列的

正在回答

2 回答

视频中用到了两种compareTo方法,一种是String方法的compareTo方法(课程中的id是String类型的!),另一种就是接口comparable中必须要实现的compareTo方法。单用compareTo方法比较int类型的id不好使

0 回复 有任何疑惑可以回复我~

好吧,自己找到错误了,id定义的是String属性,不能通过=来比较,改成equals就好了

0 回复 有任何疑惑可以回复我~
#1

慕粉3723782

还要注意一点,判断符是==双等号(虽然这里不是用这个)
2016-08-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我想通过compare方法实现比较2个属性来排序的方法不对呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信