Java >> Java Tutorial >  >> Tag >> String

Wie man Strings in Java vergleicht und mehr über Strings

Ja, ich werde über eines der Lieblingsthemen oder vielleicht das am meisten diskutierte Thema von Strings in Programmiersprachen sprechen. Dieser Beitrag behandelt die Verwendung von Strings in Java.

Frage

Eine der Anfängerfragen in Java ist, wie man Strings in Java vergleicht?

Lösung

Die kurze Antwort lautet .gleich  Vergleichen Sie die Werte zweier Zeichenfolgen und prüfen Sie, ob sie gleich sind oder nicht. Operator == Vergleichen Sie die beiden String-Objekte und prüfen Sie, ob sie auf dieselbe Speicheradresse verweisen.

Beispiel:

String str1 = new String("test");

String str2 = new String("test");

str1.equals(str2) - This will return true.

str1 == str2 - This will return false.

Kommentar

Obwohl Java den Operator ==für Strings unterstützt, wird er nicht oft für String-Vergleiche verwendet. Objektverweisprüfungen finden selten statt. Eine weitere Anomalie ist, wenn zwei Strings null sind.

Beispiel:

String str1 = null;

String str2 = null;

str1 == str2 - this will return true.

str1.equals(str2) - this will throw null pointer exception (NPE).

Java bietet eine andere Methode namens compareTo  für String-Vergleich. Dies kann auf folgende Weise verwendet werden

Beispiel:

String str1 = "test";

String str2 = "test";

str1.compareTo(str2) == 0 - This will return true.

Mehr über Strings

Wir alle haben StringBuffer gesehen , StringBuilder , StringWriter , StringTokenizer oder einfach nur String . Was sind all diese verschiedenen Aspekte von String und wann sollte man es verwenden? Ist das nicht zu viel zu wissen, wenn Sie nur ein einfaches String-Objekt verwenden möchten. Dieser Beitrag behandelt einige Informationen über all diese verschiedenen Klassen, die Java anbietet.

StringBuffer

StringBuffers sind Thread-sicher, sie sind nur synchronisierte Versionen von StringBuilder . StringBuffer bietet einige hilfreiche Methoden wie append und reverse.

Beispiel:

StringBuffer sb = new StringBuffer();

sb.append("first string");

sb.toString();

StringBuilder

StringBuilder ist nicht Thread-sicher, bietet aber eine bessere Leistung als StringBuffer . Sie können StringBuffer sagen ist Thread-sichere Version von StringBuilder .

StringTokenizer

StringTokenizer ist völlig anders als StringBuffer und StringBuilder da es hauptsächlich zum Aufteilen von Zeichenfolgen in Token an einem Trennzeichen verwendet wird. StringBuffer und StringBuilder werden verwendet, um Zeichenfolgen zu erstellen.

StringWriter

StringWriter ist ein Zeichenstrom, der die Ausgabe in einem Zeichenfolgenpuffer sammelt. Kurz gesagt, man kann sagen, dass darunter StringBuffer verwendet wird. Dies ist ein IO-Stream, sehr ähnlich zu File IO, aber Sie können immer noch auf StringWriter zugreifen, selbst nachdem der Stream geschlossen wurde.

Beispiel:

StringWriter sw = new StringWriter();

sw.write("this is first string");

sw.toString();

Schlussfolgerung

In diesem Artikel haben wir String-Vergleiche und verschiedene Formen des String-Aufbaus gezeigt. Wenn Ihnen dieser Beitrag gefallen hat, abonnieren Sie meinen Blog. Wenn Sie mehr über Strings erfahren möchten, können Sie hier nachlesen.


No
Java-Tag