Differenza tra null e vuoto

Il differenza principale tra null e empty è che il null è usato per riferirsi a nulla mentre vuoto è usato per riferirsi a una stringa unica con lunghezza zero.

Una stringa si riferisce a una sequenza di caratteri. Ad esempio, "programmazione" è una stringa. Il linguaggio di programmazione Java supporta le stringhe e vengono trattati come oggetti. La classe delle stringhe è immutabile. Pertanto, dopo aver creato un oggetto, non può essere modificato. A volte, le stringhe possono essere nulle o vuote. Quando la variabile String viene assegnata con null, indica che la variabile non si riferisce effettivamente a nessuna posizione di memoria nell'heap. Tuttavia, quando una variabile String viene assegnata con una stringa vuota, indica che la variabile di riferimento si riferisce a una posizione di memoria di una stringa con lunghezza zero.

Aree chiave coperte

1. Cosa è null
     - Funzionalità ed esempi
2. Cosa è vuoto
     - Funzionalità ed esempi
3. Differenza tra null e vuoto
     - Confronto tra le principali differenze

Parole chiave

Vuoto, Null, Archi

Cosa è null

Null si riferisce a nulla. Osservare le seguenti due dichiarazioni.

Figura 1: il programma eseguirà una stringa nulla

s1 è una variabile String. È assegnato con null. Pertanto, la JVM non assegnerà alcuna memoria, quindi la variabile s1 non punterà a nulla L'istruzione String s1 = null; è anche equivalente a String s1; Quando si stampa la lunghezza della stringa s1, verrà restituita un'eccezione di puntatore nullo. Questo perché s1 non si riferisce a una stringa effettiva per contare la lunghezza.

Cosa è vuoto

Vuoto si riferisce a una stringa senza lunghezza. Fare riferimento al codice seguente.

Figura 2: programma con stringa vuota

s2 è una variabile String. È assegnato con una stringa vuota che è "". Pertanto, la JVM allocherà spazio di memoria per una stringa vuota. s2 farà riferimento a quella stringa vuota. Quando si stampa la lunghezza della stringa s2, verrà stampato 0. Questo perché s1 sta puntando a una stringa, ma non ha caratteri per contare la lunghezza.  

Differenza tra null e vuoto

Definizione

Il null è un termine che indica che un oggetto non fa riferimento a nulla nell'heap mentre vuoto è un termine che indica che un oggetto fa riferimento a una stringa univoca di lunghezza zero nell'heap.

Sintassi

String s1 = null; o stringa s1; esprime che s1 si riferisce a nulla o null. String s2 = ""; esprime che s2 si riferisce a una stringa vuota.

Lunghezza

La stampa della lunghezza della stringa nulla darà un'eccezione di puntatore nullo. La stampa della lunghezza della stringa vuota darà zero.

Conclusione

Una stringa si riferisce a una sequenza di caratteri. Le stringhe possono a volte essere nulle o vuote. La differenza tra null e empty è che il null è usato per riferirsi a nulla mentre vuoto è usato per riferirsi a una stringa univoca con lunghezza zero.

Riferimento:

Punto tutorial. "Stringhe Java". Www.tutorialspoint.com, Tutorials Point, 12 agosto 2018, disponibile qui.