Joh*_*tsy 3 java compare comparable
我刚刚发现这个考试题目,无法弄清楚:
下面描述了一个实现Comparable接口的设计部分类.这个设计类的唯一目的是将它的实例与给定的字符串进行比较.
我们需要在课堂上填写两件事来完成它.这是班级:
public class PrivateComparableClass // FILL IN PART 1 {
private String thing;
public PrivateComparableClass(String thing) {
this.thing=thing;
}
//FILL IN PART 2
}
Run Code Online (Sandbox Code Playgroud)
我假设第1部分只对应于:
public class PrivateComparableClass implements Comparable {
Run Code Online (Sandbox Code Playgroud)
第2部分,我假设他期待compareTo方法的实现,但我真的不知道如何正确地实现这个:
public static int compareTo() {
if this.thing.equals(thing){
return 1;
} else {
return -1;
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
首先,第1部分应该是:
public class PrivateComparableClass implements Comparable<PrivateComparableClass> {
Run Code Online (Sandbox Code Playgroud)
至于第2部分,if thing
是该类中唯一的数据成员,您可以简单地搭载String.compareTo
:
public int compareTo(PrivateComparableClass rhs) {
return this.thing.compareTo(rhs.thing);
}
Run Code Online (Sandbox Code Playgroud)
我建议你阅读一下如何compareTo
工作(有三种可能的结果:小于,等于和大于).