Java Collections.sort-won';无法使用自定义比较器?

Java Collections.sort-won';无法使用自定义比较器?,java,sorting,collections,comparator,Java,Sorting,Collections,Comparator,这显然不是预期的结果。我遗漏了什么?您有一个bug: 改变 [3, 4, 5, 9, 55] [5, 9, 3, 55, 4] 到 我猜你的意思是 return o1i - o1i; 您的比较器正在减去o1i-o1i,每次为0 (将o1和o2分配给本地int变量也不会得到任何结果;只需减去o1-o2)如果出现键入错误,竞赛者应该返回o1i-o2i 而不是返回o1i-o1i使用这个 return o1i - o2i; 这将给出以下结果 int o1i = o1;

这显然不是预期的结果。我遗漏了什么?

您有一个bug:

改变

[3, 4, 5, 9, 55]
[5, 9, 3, 55, 4]

我猜你的意思是

return o1i - o1i;

您的比较器正在减去
o1i-o1i
,每次为0


(将
o1
o2
分配给本地
int
变量也不会得到任何结果;只需减去
o1-o2

如果出现键入错误,竞赛者应该
返回o1i-o2i

而不是
返回o1i-o1i

使用这个

return o1i - o2i;
这将给出以下结果

int o1i = o1;
                    int o2i = o2;
                    return o1i - o2i;

[3,4,5,9,55]

您的
compare
方法始终返回0。想想看,我在提交之前已经读了三遍:)这是一个伟大的“聪明的编程技巧”,只有当你知道你在做什么的时候才应该使用它——对于没有无符号类型的语言(对于int,你仍然可以将其转换为long,这会起作用)。除了Integer.MAX_VALUEreturn o1i - o1i;
return o1i - o2i;
int o1i = o1;
                    int o2i = o2;
                    return o1i - o2i;
[3, 4, 5, 9, 55]