Arrays.sort(intervals, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if(o1[0]> o2[0]) return 1;
else if(o1[0] < o2[0]) return -1;
else{
if(o1[1]>=o2[1])return 1;
else return -1;
}
}
});
这个异常是说比较器不严谨,我认为是缺少了return 0 的返回值,修改成下列程序就可以解决bug
Arrays.sort(intervals, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if(o1[0]> o2[0]) return 1;
else if(o1[0] < o2[0]) return -1;
else{
if(o1[1]>o2[1])return 1;
else if(o1[1]<o2[1]) return -1;
}
return 0;
}
});