Collections.sort()坑!!!

Collections.sort()中重写compare导致突然开始报错?!?!

if  (result > 0) {
return -1;
} else {
return 1;
}

compare里用同样的上面返回,同样的环境,一处正常一处报java.lang.IllegalArgumentException: Comparison method violates its general contract!

换成

if (result > 0) {
return -1;
} else if (result == 0) {
return 0;
} else {
return 1;
}

就没问题了,少个比较相等的返回!

暂时发现可能就是这个问题,但为什么另一个正常运行还不清楚!

参考:Collections.sort()问题

你可能感兴趣的:(Collections.sort()坑!!!)