zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

"bugbear" .compareTo ("bugbear") Null
"bug" .compareTo ("bugbear") negative
"pepper" .compareTo ("peppermint") negative
"toadstool" .compareTo ("toad") positive
"cat" .compareTo ("caterpillar") negative

Erstes unterschiedliches Paar von Zeichen

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 und Bchar. Dann ist A.compareTo(B) negativ, wenn Achar vor Bchar 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.


FRAGE 10:

Wir überlegen uns was bei den folgenden Vergleichen herauskommt:

"bugbear" .compareTo ("Bugbear")
"rugrat" .compareTo ("rugRat")
"ant" .compareTo ("turtle")
"toadstool" .compareTo ("total")
"ABCDEFG" .compareTo ("ABcD")
zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite