CompareTo java

0

Witam czy ktoś może mi przypomnieć co to robi? to jest tylko kawałek kodu którego nie rozumiem

if(code.compareTo(s + new Character(canUse[i]).toString()) == 0){

code to String jest ,s to to co zwraca Tablica, canUse to tablica, I teraz moje pytanie co to tak naprawdę robi wiem że porównuję 2 Stringi ale po co te == 0?

Przepraszam ale zapomniałem kiedyś to ja pisałem i chciał bym to rozwinąć ale nie pamiętam co to robiło;)

0

Imho, sprawdzasz czy s oraz new Character(canUse[i]).toString() są identyczne. Mógłbyś to zapisać tak:

if(s.equals(new Character(canUse[i]).toString()))
0

http://download.oracle.com/javase/6/docs/api/java/lang/Comparable.html

To co zwraca metoda compareTo jest zależne od konkretnego przypadku.

0

Dzięki;)

0

@donkey, metoda compareTo() została zastosowana do Stringów, po klasie String nie można dziedziczyć. Zatem to jest metoda compareTo() z klasy String.

0

bo:
To jest oczywiste.

code.compareTo(s + new Character(canUse[i]).toString())

To nie robi tego co piszesz w pierwszym swoim poście. To porównuje (s + canUse[i]) z (code).

0

Lepiej zapisać to tak:

if(code.compareTo(s + canUse[i]) == 0){

lub jeszcze lepiej:

if(code.equals(s + canUse[i])){

Java rozumie "String + char" i nie trzeba dokonywać konwersji z chara na Stringa.

0

@donkey, napisałeś

bo:
To jest oczywiste.

Wątek dotyczył bardzo konkretnego przypadku i Twoja wcześniejsza uwaga:

To co zwraca metoda compareTo jest zależne od konkretnego przypadku.
wprowadzała niepotrzebne zamieszanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1