gpt4 book ai didi

java - 在对对象 vector 进行排序时需要帮助

转载 作者:行者123 更新时间:2023-11-29 03:00:43 26 4
gpt4 key购买 nike

public class Sorting {
Vector<Talk> sorty(Vector <Talk> s) {
Collections.sort(s);
return s;
}
}

我需要对 Talk 类的对象进行排序,但我一直收到错误“绑定(bind)不匹配”。

Talk Class是这样的:

public class Talk {
String name;
int duration;

public int compareTo(Talk t) {
int compare = t.duration;
return this.duration - compare;
}
}

最佳答案

如果你想对包含它的列表进行排序,你的 Talk 类需要实现 Comparable 接口(interface):

public class Talk implements Comparable<Talk> {

请注意,通过将它们相减来比较 int 值是不安全的,除非您知道这两个值只会是正数(或不超过 Integer.MAX_VALUE 分开,准确地说)。原因是 int 会溢出并错误地变为负值,如果值比这更远。不会经常发生,但如果它真的发生了,就很难追踪错误,所以最好让自己习惯于替代方案。

更好的比较方法是调用 Integer.compare(int, int):

public int compareTo(Talk t) {   
return Integer.compare(duration, t.duration);
}

关于java - 在对对象 vector 进行排序时需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35170395/

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