gpt4 book ai didi

java - 条件空对象 : Comparison method violates its general contract

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:36:39 25 4
gpt4 key购买 nike

<分区>

场景

我得到一个对象,它有一个startDate 和一个endDate。如果两者都是 not nulltimeDiff 将被设置,以 Long 计算这两个日期之间的时间差。

用例

所有具有timeDiff 的对象都应该在前,其余在后。

比较器

HFehlerProtPairComparator

if (sortFieldName.equals(HFehlerProtPairFields.EREIGNISDATUM_DIFFERENZ.getName())) {
if (null != firstO.getStartDate() && null != firstO.getEndDate()
&& null != secondO.getStartDate() && null != secondO.getEndDate()) {
compare = firstO.getTimeDiff().compareTo(secondO.getTimeDiff());
} else {
compare = -1;
}

}

我不知道我错过了什么,调试对我没有帮助。我尝试在纸上验证它,但我也没有看到我的错误。

调用层级

comp = new HFehlerProtPairComparator(field.getName(), SortType.ASC.name());
Error ==> Collections.sort(unsortedHFehlerProtPairList, comp);

堆栈

at java.util.TimSort.mergeHi(TimSort.java:899)
at java.util.TimSort.mergeAt(TimSort.java:516)
at java.util.TimSort.mergeForceCollapse(TimSort.java:457)
at java.util.TimSort.sort(TimSort.java:254)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java:1454)
at java.util.Collections.sort(Collections.java:175)
at uebergreifendeereignis.UeHFehlerProtPairListController.sortBySortMap(UeHFehlerProtPairListController.java:360)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com