English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In Java, ogni tipo ha un valore predefinito, quando non inizializzi le variabili d'istanza della classe, il compilatore Java utilizza questi valori per inizializzarle al tuo posto. Null è il valore predefinito per i tipi oggetto, puoi anche assegnare manualmente null agli oggetti nei metodi.
Object obj = null;
Ma non puoi utilizzare un oggetto con valore null o (se utilizzi un valore null invece dell'oggetto) l'oggetto, altrimenti viene sollevata un'eccezione NullPointerException.
public class Demo { String name = "Krishna"; int age = 25; public static void main(String args[]) { Demo obj = null; System.out.println(obj.age); System.out.println(obj.name); {} {}
Exception in thread "main" java.lang.NullPointerException at july_set3.Demo.main(Demo.java:11)
Secondo la documentazione di Java, se provi a eseguire NullPointerException-
Chiamare un metodo a con un oggetto nullo (istanza).
Accedere, modificare, stampare i campi di un valore nullo (oggetto).
Tentativo di accedere (stampare/uso in una frase) la lunghezza di un valore nullo.
Lancia un valore nullo.
Accedere o modificare un elemento/slot con valore nullo.
In un array Java, i tipi di riferimento sono come le classi, quindi la scena di NullPointerException è quasi simile. Quando si utilizza un array, si verifica un NullPointerException-
Se si tenta di accedere a un elemento dell'array non inizializzato (null).
public class Demo { public static void main(String args[]) { int myArray[] = null; System.out.println(myArray[5]); {} {}
Exception in thread "main" java.lang.NullPointerException at july_set3.Demo.main(Demo.java:6)
Se si tenta di ottenere la lunghezza di un array non inizializzato (null).
public class Demo { public static void main(String args[]) { int myArray[] = null; System.out.println(myArray.length); {} {}
Exception in thread "main" java.lang.NullPointerException at july_set3.Demo.main(Demo.java:6)
Se si tenta di chiamare un metodo su un array non inizializzato (null).
public class Demo { public static void main(String args[]) { int myArray[] = null; System.out.println(myArray.toString()); {} {}
Exception in thread "main" java.lang.NullPointerException at july_set3.Demo.main(Demo.java:6)