gpt4 book ai didi

java - Collection.sort 排序时出现奇怪的错误

转载 作者:行者123 更新时间:2023-12-02 02:21:24 25 4
gpt4 key购买 nike

我正在尝试按日期从早到旧排序。但我有奇怪的错误/错误//我不知道如何解释。我正在使用对象模型。这里是排序代码

Collections.sort(models, new Comparator<Model>() {
@Override
public int compare(Model item1, Model item2) {
int s1 = (int) item1.getUpdateAt();
int s2 = (int) item2.getUpdateAt();
return (s2 - s1);
}
});

及其信息如何排序:

model: tyuiop time: 1484473575000
model: 0 time: 1516887006000
model: 1 time: 1516886848000
model: 2 time: 1516886840000
model: 3 time: 1516886833000
model: 4 time: 1516886825000
model: 5 time: 1516886818000
model: vhvyvtct time: 1516886592000

正如我们所见,从 0 到“vhvyvtctc”一切都很好,但“tyuiop”位置错误。我不明白为什么。任何人都可以帮我解决这个...错误吗?请

UPD 天哪,我是个白痴。真正的整数和长整型。我的头傻了谢谢大家将代码更改为这种样式:

 Collections.sort(models, new Comparator<Model>() {
@Override
public int compare(Model item1, Model item2) {
long s1 = item1.getUpdateAt();
long s2 = item2.getUpdateAt();
return Long.compare(s2, s1);
}
});

而且它的工作非常完美。谢谢大家。

最佳答案

不要使用 Long 类的比较方法让事情变得复杂

 Collections.sort(models, new Comparator<Model>() {
@Override
public int compare(Model item1, Model item2) {
return Long.compare(item1.getUpdateAt(), item2.getUpdateAt());
}
});

关于java - Collection.sort 排序时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48444428/

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