Unterschied zwischen null und leer

Das Hauptunterschied zwischen null und leer ist das Mit null wird auf nichts Bezug genommen, mit leer wird auf eine eindeutige Zeichenfolge mit der Länge Null verwiesen.

Ein String bezieht sich auf eine Folge von Zeichen. Zum Beispiel ist "Programmieren" ein String. Die Java-Programmiersprache unterstützt Strings und wird als Objekt behandelt. String-Klasse ist unveränderlich. Daher kann es nach dem Erstellen eines Objekts nicht geändert werden. In manchen Fällen können Zeichenfolgen null oder leer sein. Wenn die String-Variable mit null zugewiesen wird, zeigt dies an, dass sich die Variable nicht tatsächlich auf einen Speicherplatz im Heap bezieht. Wenn einer String-Variablen jedoch ein leerer String zugewiesen wird, zeigt dies an, dass sich die Referenzvariable auf einen Speicherplatz eines Strings mit der Länge Null bezieht.

Wichtige Bereiche

1. Was ist null?
     - Funktionalität und Beispiele
2. Was ist leer?
     - Funktionalität und Beispiele
3. Unterschied zwischen null und leer
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

Leer, Null, Strings

Was ist null?

Null bezieht sich auf nichts. Beachten Sie die beiden folgenden Anweisungen.

Abbildung 1: Programm wird eine Nullzeichenfolge

s1 ist eine String-Variable. Es wird mit null zugewiesen. Daher reserviert die JVM keinen Speicher, sodass die Variable s1 auf nichts zeigt. Die Anweisung String s1 = null; ist auch äquivalent zu String s1; Beim Drucken der Länge von String s1 wird eine Nullzeiger-Ausnahme ausgegeben. Dies liegt daran, dass sich s1 nicht auf eine tatsächliche Zeichenfolge bezieht, um die Länge zu zählen.

Was ist leer?

Leer bezieht sich auf eine Zeichenfolge ohne Länge. Siehe den Code unten.

Abbildung 2: Programm mit leerem String

s2 ist eine String-Variable. Es wird eine leere Zeichenfolge zugewiesen, die "" ist. Daher weist die JVM Speicherplatz für eine leere Zeichenfolge zu. s2 verweist auf diese leere Zeichenfolge. Beim Drucken der Länge von String s2 wird 0 gedruckt. Das ist darauf zurückzuführen, dass s1 auf einen String zeigt, jedoch keine Zeichen für die Länge enthalten.  

Unterschied zwischen null und leer

Definition

Die Null ist ein Begriff, der angibt, dass sich ein Objekt auf nichts im Heap bezieht, während leer ein Begriff ist, der darauf hinweist, dass sich ein Objekt auf eine eindeutige Zeichenfolge der Länge null im Heap bezieht.

Syntax

String s1 = null; oder String s1; drückt aus, dass sich s1 auf nichts oder null bezieht. String s2 = ""; drückt aus, dass sich s2 auf eine leere Zeichenfolge bezieht.

Länge

Beim Drucken der Länge der Nullzeichenfolge wird eine Nullzeigerausnahme angezeigt. Das Drucken der Länge der leeren Zeichenfolge ergibt eine Null.

Fazit

Ein String bezieht sich auf eine Folge von Zeichen. Zeichenfolgen können manchmal null oder leer sein. Der Unterschied zwischen Null und Leer besteht darin, dass Null auf nichts verweist, während Leer auf eindeutige Zeichenfolgen mit der Länge Null verweist.

Referenz:

Tutorials Punkt. "Java-Zeichenfolgen". Www.tutorialspoint.com, Tutorials Point, 12. August 2018, hier verfügbar.