English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In Java, ogni tipo ha un valore predefinito, quando non inizializzi le variabili di istanza della classe, il compilatore Java utilizza questi valori per inizializzarle al tuo posto. Null è il valore predefinito per i tipi oggetto e puoi anche assegnare manualmente null agli oggetti nei metodi.
Object obj = null;
Ma non è possibile utilizzare un oggetto con valore null o (se viene utilizzato un valore null invece di un oggetto) un oggetto, altrimenti viene generato un 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)
È possibile anche utilizzare la parola chiave throw per generare NullPointerException in Java.
public class ExceptionExample { public static void main(String[] args) { System.out.println("Hello"); NullPointerException nullPointer = new NullPointerException(); throw nullPointer; } }
Risultato di output
Hello Exception in thread "main" java.lang.NullPointerException at MyPackage.ExceptionExample.main(ExceptionExample.java:6
Secondo la documentazione Java, se si tenta di eseguire NullPointerException-
Chiamare il metodo a (istanza) con un oggetto null.
Accedere, modificare, stampare i campi di un valore nullo (oggetto).
Prova ad accedere (stampare/usare in una frase) la lunghezza di un valore nullo.
Lanciare un valore nullo.
Accedere o modificare un elemento/slot con un valore nullo.
Significa che se si lancia un valore nullo, si verifica un'eccezione di riferimento nullo, non è un'upcasting.
public class Demo { public static void main(String args[]) { throw null; } }
Exception in thread "main" java.lang.NullPointerException at july_set3.Demo.main(Demo.java:5)