如果我向
Collections.sort
提供非传递性
Comparator
会怎么样?我可以进入无限循环吗?
我写的一个小测试产生了一个输出,但我想确保这将永远是这样.
问题在于,在某些情况下,我的比较器可以产生周期,在这种情况下,我只想确保它不会进入无限循环.我不在乎实际的结果.
解决方法
@H_403_9@ Java docs说你必须确保比较器是可传递的.如果您提供不符合要求的比较器,则所有投注都将关闭.它可能适用于给定的实现,但可能会在另一个实例中崩溃(std :: sort in C).总之,你不应该依靠它工作,即使它是为某些或其他例子.