我正在尝试使用compareTo方法首先按字符串长度比较String,然后如果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;
}
答案 0 :(得分:4)
您忘记指定return
声明
变化
else{ this.word.compareTo(testStr2.word);
到
else{ return this.word.compareTo(testStr2.word);