"bugbear" | .compareTo | ("bugbear") | Null |
"bug" | .compareTo | ("bugbear") | negative |
"pepper" | .compareTo | ("peppermint") | negative |
"toadstool" | .compareTo | ("toad") | positive |
"cat" | .compareTo | ("caterpillar") | negative |
Angenommen, zwei Zeichenfolgen sind nicht identisch und die eine ist nicht das Präfix der anderen. Dann muss es mindestens ein Zeichen in der einen Zeichenfolge geben, das sich von einem Zeichen an der gleichen Stelle in der anderen Zeichenfolge unterscheidet:
die ersten unterschiedlichen Zeichen sind 'a' und 'e' beat | beet die ersten unterschiedlichen Zeichen sind 'r' und 'h' bear rug | bear hug die ersten unterschiedlichen Zeichen sind 'c' und 'm' batcave |||| batmobile die ersten unterschiedlichen Zeichen sind 'b' und 'B' baseball bat | | baseBall hat
Wir suchen das erste Paar unterschiedlicher Zeichen. Das Ergebnis von compareTo()
basiert nur auf diesem Paar.
Regel 3: Wir suchen das erste unterschiedliche Paar von Zeichen in den Strings A und B. Nennen wir sie
Achar
undBchar
. Dann istA.compareTo(B)
negativ, wennAchar
vorBchar
in dem von Java verwendeten Alphabet steht (und ansonsten positiv).
Diese Regel vergleicht nur zwei Zeichen. Bei Zeichen mit gleicher Groß- und Kleinschreibung ist das Zeichen, das im von Java verwendeten Alphabet vor dem anderen steht, kleiner als das andere. Bei Zeichen mit unterschiedlicher Groß- und Kleinschreibung sind alle Zeichen mit Großbuchstaben kleiner als alle Zeichen mit Kleinbuchstaben.
Die Länge der beiden Strings spielt keine Rolle. Es genügt das erste unterschiedliche Zeichenpaar zu finden und das Ergebnis des Vergleichs auf dieses Zeichenpaar darauf zu gründen.
Wir überlegen uns was bei den folgenden Vergleichen herauskommt: