返回信息流程序中sort引起的错误:
Comparison method violates its general contract!
如何解决,
已经百度过,实现了comparable接口,然后考虑到了相当情况,为什么还是报错。
这是一条镜像帖。来源:北邮人论坛 / java / #49218同步于 2016/4/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
java 报错Comparison method violates its general contract!
windelu
2016/4/12镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
【 在 windelu 的大作中提到: 】
: 程序中sort引起的错误:
: Comparison method violates its general contract!
: 如何解决,
: ...................
在else if里面加入两者相等返回0的语句
参考一下http://m.blog.csdn.net/article/details?id=18947849
【 在 Lamperouge 的大作中提到: 】
: 在else if里面加入两者相等返回0的语句
: 参考一下http://m.blog.csdn.net/article/details?id=18947849
我修改了,结果还是有问题,我添加了“=”
加上if(this.getScore()==l.getScore()) return 0;
因为链接里面有这么一句:sgn(compare(x, y)) == -sgn(compare(y, x) 放到你这个例子里,当2个相等的时候,都是返回-1 不符合了