"turtle" | .compareTo | ("turtledove") | negativ |
"polarbear" | .compareTo | ("polarbear") | Null |
"freezing point" | .compareTo | ("freezing") | positive |
"Power" | .compareTo | ("power") | negativ |
"FORTRAN" | .compareTo | ("fortran") | negativ |
Das Alphabet, das Java für den Vergleich von Zeichen verwendet, wird als Collating Sequence (Sortierreihenfolge) bezeichnet. Alle Zeichen werden in diese Abfolge eingeordnet, so dass zwei beliebige Zeichen miteinander verglichen werden können. Hier ist der Teil der Sequenz, der die gebräuchlichsten Zeichen enthält:
sp ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~
Die Zeichen werden in aufsteigender Reihenfolge gelistet. Zum Beispiel:
A < K 0 < Z Z < a % < + @ < { z < ~
Das erste Zeichen 'sp' steht für ein einzelnes Leerzeichen. Zum Beispiel gibt
" hello".compareTo("hello")
einen negativen Wert zurück.
Meistens braucht man diese Details nicht. Aber mitunter braucht man sie doch und dann ist es gut zu wissen, dass es sie gibt. Die Tatsache, dass das Leerzeichen vor fast allen anderen Zeichen steht, ist manchmal nützlich, um unerwartetes Programmverhalten zu erklären.
Mehr Übung. Wir vergleichen Strings, darunter auch einige, die Ziffern enthalten z. B. "23.5". Wir führen einen Zeichen-für-Zeichen Vergleich durch, keinen arithmetischen Vergleich.