Java: Größer/Kleiner-Vergleich von Strings - The operator > is undefined for the argument type(s) java.lang.String
Frage von Gast | 22.09.2013 um 23:48
Ich würde gerne mit Java einen Vergleich zweier Strings implementieren. Vergleichen wir zum Beispiel die beiden Strings "a" und "b", ist "a" kleiner als "b", "b" ist größer als "a" und "a" ist gleich "a" beziehungsweise "b" ist gleich "b".
So weit so gut. In anderen Programmiersprachen habe ich diesen Vergleich auch super hingekommen, doch Java meckert bei der Verwendung von ">" und "<" und auch das "==" funktioniert nicht:
String a = "a"; String b = "b"; if (a > b) { ... } if (a < b) { ... } if (a == b) { ... }
Egal wie ich diesen Code auch umschreibe, es kommt ständig folgende Fehlermeldung:
The operator > is undefined for the argument type(s) java.lang.String, java.lang.String
Was kann ich tun, damit ich einen String entsprechend mit einem anderen String vergleichen kann?
Ähnliche Themen
Lazarus: Programm ohne GUI - Viele WSRegister Fehler
Frage | 2 Antworten
PHP: Nur bestimmte Buchstaben, Zahlen und Zeichen in einem String zulassen
Tipp | 10 Kommentare
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
HTML-Formular mit Daten vorbelegen
Tutorial | 0 Kommentare
PHP: Strings mit Ctype-Funktionen auf Zeichenklassen überprüfen
Artikel | 0 Kommentare
O-Notation
Artikel | 0 Kommentare
Sollte das 9-Euro-Ticket weitergeführt werden?
Offene Frage | 9 Antworten
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
In Java kann man Strings nicht einfach so vergleichen, da Strings eigenständige Objekte sind.
Benutze stattdessen die Methode .compareTo() für den größer-kleiner Vergleich:
Das Resultat von .compareTo() ist kleiner 0 wenn "a" kleiner ist als "b", größer 0 wenn "a" größer ist als "b" oder gleich 0, falls "a" und "b" die gleichen Zeichen enthalten.
Wenn du nur daran interessiert bist, ob "a" und "b" den gleichen Inhalt haben, kannst du auch .equals() benutzen:
Je nach Inhalt von "a" und "b" gibt .equals() true oder false zurück. Mehr dazu auch noch in der Frage zum Java String Vergleich. Dort ist dieser Vergleich noch etwas ausführlicher erklärt.
23.09.2013 um 10:13