English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Warum kann ich in Java null werfen und warum sollte ich es in einen NoSuchElementException umwandeln?

In Java hat jeder Typ eine Standardwert, wenn Sie die Instanzvariablen der Klasse nicht initialisieren, verwendet der Java-Compiler diese Werte, um sie für Sie zu initialisieren. Null ist der Standardwert für Objekttypen und Sie können null auch manuell einem Objekt im Methodenaufruf zuweisen.

Object obj = null;

Sie können jedoch keine Objekte mit null-Werten oder (wenn null-Werte anstelle von Objekten verwendet werden) Objekte verwenden, da sonst ein NullPointerException ausgelöst wird.

Beispiel

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);
   }
}

Laufzeit-Exception

Exception in thread "main" java.lang.NullPointerException
   bei july_set3.Demo.main(Demo.java:11)

Auslösen von NullPointerException

Sie können auch den Schlüsselwort 'throw' in Java verwenden, um einen NullPointerException auszulösen.

Beispiel

public class ExceptionExample {
   public static void main(String[] args) {
      System.out.println("Hallo");
      NullPointerException nullPointer = new NullPointerException();
      throw nullPointer;
   }
}

Ausgabefolge

Hallo
Exception in thread "main" java.lang.NullPointerException
   bei MyPackage.ExceptionExample.main(ExceptionExample.java:6

werfe einen leeren Wert.

Laut Java-Dokument tritt eine NullPointerException auf, wenn Sie versuchen,-

  • Rufe Methode a (Instanz) auf, indem null-Objekt verwendet wird.

  • Zugriff, Änderung, Druck eines leeren Werts (Objekts) auf Felder.

  • Versuche den Zugriff (Druck)/Verwende die Länge eines leeren Werts im Ausdruck).

  • werfe einen leeren Wert.

  • Zugriff oder Änderung von Elementen mit leerem Wert/Steckplatz.

bedeutet, dass eine Null-Referenz-Exception auftritt, wenn ein leerer Wert ausgelöst wird, dies ist keine Aufwärtskonvertierung.

Beispiel

public class Demo {
   public static void main(String args[]) {
      throw null;
   }
}

Laufzeit-Exception

Exception in thread "main" java.lang.NullPointerException
   bei july_set3.Demo.main(Demo.java:5)
Vielleicht gefällt dir das auch