字符串比较使用 compareTo

String comparison use compareTo

我正在尝试使用 compareTo 方法首先按字符串长度比较字符串,然后如果 2 个长度相等,则字符串将按字典顺序进一步排序。 到目前为止,这是我的代码,它确实首先按长度排序,但是当字符串长度相等时无法按字典顺序进一步排序。

public class TestString implements Comparable<TestString>
{
  String word;

  public TestString(String string) {
    word = string;
  }

  public String toString() {
    return word;
  }

  public int compareTo(TestString testStr2) {

      int length1=this.word.length();
      int length2=testStr2.word.length();

      if (length1 > length2) return 1;
      else if (length1 < length2) return -1;
      else{ this.word.compareTo(testStr2.word);
      }
    return 0;
  }

您忘记指定 return 语句

改变

else{ this.word.compareTo(testStr2.word);

else{ return this.word.compareTo(testStr2.word);