zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

"turtle" .compareTo ("turtledove") negativ
"polarbear" .compareTo ("polarbear") Null
"freezing point" .compareTo ("freezing") positive
"Power" .compareTo ("power") negativ
"FORTRAN" .compareTo ("fortran") negativ

Sortierreihenfolge

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.


FRAGE 12:

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.

" 9999" .compareTo ("023")
"(rat)" .compareTo ("[cat]")
"23.5" .compareTo ("23,7")
"More Cheese?" .compareTo ("More Cheese!")
"cobol" .compareTo ("cobalt")
zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite