java – 实现类似的接口

我刚刚发现这个考试题目,无法弄清楚:

下面描述了一个实现Comparable接口的设计部分类.这个设计类的唯一目的是将它的实例与给定的字符串进行比较.

我们需要在课堂上填写两件事来完成它.这是班级:

public class PrivateComparableClass // FILL IN PART 1 { 
   private String thing;

    public PrivateComparableClass(String thing) {
     this.thing=thing;
    }
   //FILL IN PART 2
}

我假设第1部分只对应于:

public class PrivateComparableClass implements Comparable {

第2部分,我假设他期待compareTo方法的实现,但我真的不知道如何正确地实现这个:

public static int compareTo() {
  if this.thing.equals(thing){
  return 1;
  } else {
    return -1;
  }
}

我该如何解决这个问题?

解决方法:

首先,第1部分应该是:

public class PrivateComparableClass implements Comparable<PrivateComparableClass> {

至于第2部分,如果thing是类中唯一的数据成员,你可以简单地搭载String.compareTo:

public int compareTo(PrivateComparableClass rhs) {
  return this.thing.compareTo(rhs.thing);
}

我建议您阅读compareTo is meant to work(有三种可能的结果:小于,等于和大于).

上一篇:java – LocalDate中的泛型问题


下一篇:新金融ABS如何做?听听这几十家券商、互金高管的经验之谈