Null und leere Zeichenkette in Java
- Verwendung von den leeren String in Java
- Verwendung von den Null-String in Java
- Null- und leeres String-Beispiel in Java
-
Überprüfung von Null und leerem String mit der Methode
equals()
in Java
Dieses Tutorial behandelt den Unterschied zwischen null
und leeren Strings in Java. Aber vorher werden wir den grundlegenden Unterschied zwischen den Begriffen leer
und null
verstehen.
Leer
ist wie eine leere Schachtel, die wir je nach Bedarf verwenden können, um sie zu füllen oder Notwendiges zu tun.
Null
ist wie ein Vakuum mit einer damit verbundenen Eigenschaft, weshalb wir es weder als leer noch als voll betrachten können.
In Java bezieht sich ein String auf die Folge von Zeichen. Zum Beispiel ist delftstack
ein String.
Wir sehen oft die leeren und Null-Strings in Java. Viele Leute denken, dass sowohl leere als auch null Zeichenfolgen gleich sind, aber es gibt einen Unterschied zwischen null und leeren Zeichenfolgen.
Verwendung von den leeren String in Java
String a = ""; // empty string
Hier ist a
ein leerer String. Wenn wir der Variable string
den leeren String zuweisen, zeigt dies an, dass die Variable reference
auf einen Speicherplatz eines Strings in einem Heap verweist.
Ein leerer String ist ein String, der keine Zeichen enthält und eine wohldefinierte Länge hat - Länge ist 0. Wir können alle Zeichenfolgenoperationen an einer leeren Zeichenfolge ausführen.
Wir können seine Länge finden, indem wir die Methode length()
verwenden, den Index einiger Zeichen ermitteln usw.
Verwendung von den Null-String in Java
String b = null;
Hier ist b
ein Null-String. Bei der Zuweisung der Null an die String-Variable verweist die Referenzvariable auf keinen Speicherplatz in einem Heap.
Die Null-Zeichenfolge bedeutet überhaupt keine Zeichenfolge. Es hat keine Länge, weil es überhaupt kein String ist.
Das Anwenden einer Standard-String-Operation auf den Null-String führt zu einer NullPointerException
-Laufzeit.
Null- und leeres String-Beispiel in Java
In diesem Beispiel haben wir einen leeren und einen Null-String erstellt und dann ihre Funktion mit der length()
-Methode überprüft. Die Null-Zeichenfolge löst eine Ausnahme aus, während die Leere dies nicht tut.
Siehe das Beispiel unten.
public class SimpleTesting {
public static void main(String[] args) {
// empty string
String a = "";
// null string
String b = null;
// printing length of empty string
System.out.println("length a = " + a.length());
// this piece of code will still throw nullpointerexception .*
if (b != "") {
// printing length of null string
System.out.println("length b =" + b.length());
}
}
}
Ausgabe:
length a = 0
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "<local2>" is null
at SimpleTesting.main(SimpleTesting.java:15)
Überprüfung von Null und leerem String mit der Methode equals()
in Java
Wir haben die Methode equals()
und den Operator equal ==
verwendet, um in diesem Beispiel den leeren und den Null-String zu überprüfen. Der Ausdruck a==b
gibt false
zurück, weil ""
und null
nicht den gleichen Platz im Speicher einnehmen.
Mit einfachen Worten können wir sagen, dass Variablen nicht auf dieselben Objekte zeigen. a.equals(b)
gibt false
zurück, weil die Objektreferenzwerte, auf die a
und b
verweisen, nicht übereinstimmen.
Das b.equal(a)
gibt NullPointerExpception
zurück, weil b
auf eine obskure Referenz zeigt und keine Operation erlaubt ist.
public class SimpleTesting {
public static void main(String[] args) {
// empty string
String a = "";
// null string
String b = null;
System.out.println(a == b);
System.out.println(a.equals(b));
System.out.println(b.equals(a));
}
}
Ausgabe:
false
false
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "<local2>" is null
at SimpleTesting.main(SimpleTesting.java:13)
Verwandter Artikel - Java String
- So führen Sie die Konvertierung von String in String-Array in Java durch
- Wie entferne ich eine Unterzeichenkette aus einer Zeichenkette in Java
- So konvertieren Sie Byte-Array in Hex-String in Java
- Wie man Java-String in Byte konvertiert
- Generieren Sie eine zufällige Zeichenkette in Java
- Die Swap-Methode in Java