学习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()方法,最后,该方法将帮助我根据学生编号从最小到最大的顺序排列学生。.我在砖墙上,只需要一些正确方向的帮助
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;
}
如果
compareTo()
对象相对较小,则other
将返回正值;如果对象相对较大,则将返回负值;如果相等,则返回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/