以下内容:
以下这段代码:
ArrayList<ShowdownSingleValueVO> sortedValues = new ArrayList<>();
(...fill the array...)
Collections.sort(sortedValues);
返回以下异常:比较方法违反其通用合同!
我知道这个异常通常是在比较方法没有正确实现时生成的,但在我的情况下,它的实现非常明显:
public static class ShowdownSingleValueVO implements Comparable<ShowdownSingleValueVO>{
int hashValue;
byte showdownValue;
public ShowdownSingleValueVO(int hashValue, byte showdownValue) {
this.hashValue = hashValue;
this.showdownValue = showdownValue;
}
@Override
public int compareTo(ShowdownSingleValueVO o) {
return this.hashValue - o.hashValue;
}
}
正如您所看到的,目标是按照它们的hashValue属性对值进行排序。
如果您有任何想法或提示,请不吝赐教!
谢谢, Thomas