compareTo auf String liefert seltsame Werte
-
Dieses Programm liefert mir als Ausgabe -15
public class Test { static public void main(String[] args) { System.out.println( "hello".compareTo( "welt" ) ); } }
Allerdings sollte compareTo, doch -1, 0, 1 liefern
Ist das so wirklich richtig? Kann ich mir fast nicht vorstellen.
java -version:
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)
-
schrieb:
Returns:
the value 0 if the argument string is equal to this string; a value less than 0 if this string is lexicographically less than the string argument; and a value greater than 0 if this string is lexicographically greater than the string argument.
-
Hab ich gemacht und festgestellt, dass die bei Comparator in der Doku -1,0,1 als spezialfall nutzen und allgemein < 0, 0 und > 0 gefordert wird. Danke.
-
Javaianer schrieb:
Hab ich gemacht und festgestellt, dass die bei Comparator in der Doku -1,0,1 als spezialfall nutzen
Eben und darauf sollte sich auch nicht verlassen werden.
Kleiner 0, gleich 0, größer 0 ist alleine richtig seid
diese Methode (Funktion) in C eingeführt wurde.Zum Beispiel weil zwei chars im compareTo einfach
voneinander abgezogen werden könnten.