gpt4 book ai didi

java - java 中的 compareTo() 方法(学生 ID)

转载 作者:行者123 更新时间:2023-11-30 07:07:20 26 4
gpt4 key购买 nike

学习 java 并在使用 compareTo 方法时遇到问题。我试过谷歌,但对我需要的帮助不大。我需要的是

// compareTo public int compareTo(Student other) 
// is defined in the Comparable Interface
// and should compare the student ID's (they are positive integers).
// Must be able to handle null "other" students. A null student should be
// ordered before any student s so the s.compareTo(null) should be positive.

所以基本上是一个 compareTo(),最后这个方法将帮助我根据学生 ID 从最低到最高对我的学生进行排序。我在一堵砖墙上,只需要一些帮助方向

public int compareTo(StudentIF other) {
// do stuff
return 0;
}

最佳答案

关于实现 compareTo() 有一个很好的教程 here .也就是说,在学习如何做一般事情时,了解如何在我的特定用例中实现它通常对我很有帮助——所以,在这种情况下,我想这样的事情就足够了:

public int compareTo(StudentIF other) {
if (other == null) {return 1;} //satisfies your null student requirement
return this.studentId > other.studentId ? 1 :
this.studentId < other.studentId ? -1 : 0;
}
如果 other 对象比较小,

compareTo() 预计返回正值,如果比较大,则返回负值,如果它们相等,则返回 0。假设您熟悉三元运算符,您将看到这就是它正在做的事情。如果你不是,那么等效的 if/else 将是:

    public int compareTo(StudentIF other) {
if (other == null) { return 1; } //satisfies your null student requirement
if (this.studentId > other.studentId) return 1;
else if (this.studentId < other.studentId) return -1;
else return 0; //if it's neither smaller nor larger, it must be equal
}

关于java - java 中的 compareTo() 方法(学生 ID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25007311/

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