2015-05-16 3 views
0

Я пытаюсь использовать метод compareTo для сравнения String сначала по строковой длине, тогда если 2 длины равны, String далее сортируются в лексикографическом порядке. Вот мой код до сих пор, он сортирует по длине сначала, но не может сортировать в лексикографическом порядке, когда длина строки равна.Сравнение сравнения строк compareTo

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; 
    } 

ответ

4

Вы забыли указать return Заявление о

изменение

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

в

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

Спасибо и так много! – Katherine

+0

@ Кэтрин Вы очень приветствуетесь :) –

Смежные вопросы