suchen
HeimJavajavaLernprogrammJava NullPointerException

Java NullPointerException

Aug 30, 2024 pm 04:13 PM
java

NullPointer Exception ist eine Ausnahme in Java, die bei Programmierern sehr häufig auftritt. Es handelt sich um eine Laufzeitausnahme, die auftritt, wenn die Objektinstanziierung nicht ordnungsgemäß ist. Es wird deklariert, dass das Objekt einen Nullwert enthält. Die Nullzeiger-Ausnahme bedeutet lediglich, dass versucht wird, ein Objekt mit einer Referenz aufzurufen, die einen Nullwert enthält. Das Wichtigste, was Sie beachten sollten, ist, dass die Nullzeiger-Ausnahme nichts mit Zeigern zu tun hat, da die Java-Sprache das Zeigerkonzept nicht unterstützt. Vielmehr ist es mit Objektreferenzen verknüpft.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax:

Es gibt keine spezifische Syntax für die Nullzeiger-Ausnahme, die als Laufzeitfehler angegeben werden kann. es entsteht automatisch und wird für den Gebrauch sichtbar.

Eine Catch-Ausnahme kann deklariert und dann ausgelöst werden, um auf die NullPointer-Ausnahme hinzuweisen und sie zu debuggen. Das Debuggen für die NullPointerException ist sehr mühsam. Es muss sichergestellt werden, dass die Objektinstanziierung und Referenzdeklaration zum Zeitpunkt der Ausführung korrekt sind.

try {
Object obj1 = new Object(); // Instantiate a new object for the class as reference
Obj1=null; //Provide null value to the object created
Logging.log(String.format(“get the object value”, obj1.object1for reference));
}
catch(java.lang.NullPointerException exception)
{
Logging.log(exception);
}
catch(Throwable exception)
{
Logging.log(exception,false);
}

Wie funktioniert NullPointerException in Java?

NullPointerException in Java ist eine Ausnahme, die für einen Entwickler überhaupt kein wünschenswerter Fehler ist. Es ist sehr schwierig, die Ausnahme zu finden, da sie jedes Mal zur Laufzeit auftritt. Daher ist das Finden einer solchen Ausnahme eine mühsame Aufgabe. Es dauert Stunden, bis die Programmierer die NullPointerException herausfinden.

Es entsteht, wenn ein ungewöhnlicher Versuch unternommen wird, das mit der Null definierte Objekt irgendwo zuzuweisen, wenn ein Objekt für etwas anderes benötigt wird. Alle Java-Fehler, einschließlich NullPointerException, treten aus bestimmten Gründen auf, wie zum Beispiel:

  • Immer wenn java.lang.the throwable interface deklariert wird, löst es alle möglichen Java-Fehler aus und wird durch die geerbte Klasse weiter erweitert.
  • lang.Exception erbt dann von java.lang.throwable.
  • lang.throwable-Klasse erweitert die java.lang.Exception.
  • Auch Java.lang.RuntimeException tritt aufgrund dieser geerbten Klasse auf.
  • Schließlich wird java.lang.NullPointerException von der Klasse java.lang.RuntimeException geerbt.

Da klar erwähnt und ersichtlich ist, dass die NullPointerException von der java.lang.RuntimeException geerbt wird, tritt dieses Problem immer dann auf, wenn zum Zeitpunkt der Kompilierung und Ausführung der Anwendung eine Ausführung der Anwendung stattfindet. Wenn außerdem versucht wird, direkt auf ein Feld, eine Methode oder die falsche Referenz des Objekts zum Zeitpunkt der Instanziierung zuzugreifen, ist es unbedingt erforderlich, die java.lang.NullPointerException auszulösen. Das Hinzufügen von Loggern, das anschließende Erstellen eines weiteren Dummy-Objekts und das anschließende Aufrufen der Instanz der Methode des nullzugewiesenen Objekts hilft auch beim ordnungsgemäßen Debuggen des Codes und beim Finden der Grundursache der NullPointerException und der Zeilen, die auf den Fehler und die Ausnahme verweisen. Daher handelt es sich um eine sehr konventionelle Methode zur Fehlerbehebung und zum Debuggen, um den Java-Fehler zu verstehen, der in einer bestimmten Zeile auftritt.

Konstruktoren von Java NullPointerException

Mit der Methode der NullPointerException sind bestimmte spezifische Konstruktoren definiert und deklariert, die wie folgt lauten:

1. NullPointerException()

Dieser Konstruktor wird verwendet, um eine NullPointerException ohne detaillierte Meldung oder Erklärung zu erstellen. Es kann als leere oder Null-Ausnahme betrachtet werden, die gemäß der Anforderung nicht so sehr empfohlen wird.

2. NullPointerException(String s)

Dieser Konstruktor verhält sich im Widerspruch zur NullPointerException(), da er einen Teil der detaillierten Meldung enthält, die an der angegebenen Stelle verursacht wird, und das Argument einbezieht, das zum Zeitpunkt der Erstellung einer Nullzeigerausnahme verwendet werden kann. Das Argument String s ist für die Erstellung der Nullzeiger-Ausnahme mit der detaillierten Meldung verantwortlich.

Beispiele zur Implementierung von Java NullPointerException

Unten finden Sie Beispiele für Java NullPointerException:

Beispiel #1

Dieses Programm wird verwendet, um den Aufruf der ungültigen Methode zum Zeitpunkt der Ausführung zu demonstrieren, der zu einer NullPointerException führt, was nicht erforderlich ist.

Code:

public class Null_Pointer_Excptn {
public static void main(String[] args) {
String strng = null;
try
{
if (strng.equals("monkey"))
System.out.println("Let us take a value which needs to be similar");
else
System.out.println("Otherwise it will not take a similar and equal value.");
}
catch(NullPointerException e)
{
System.out.println("It is a need to catch the null pointer exception.");
}
}
}

Ausgabe:

Java NullPointerException

Beispiel #2

Dieses Programm veranschaulicht das Java-Programm, das die Erstellung einer NullPointerException vermeidet, da es sich nicht um eine herkömmliche Methode handelt.

Code:

public class Null_Pointer_Excptn_Avoid {
public static void main(String[] args) {
String strng2 = null;
try
{
if ("avoid_null".equals(strng2))
System.out.println("Coming out to be equal");
else
System.out.println("It is not at all coming out to be equal");
}
catch(NullPointerException e)
{
System.out.println("Catch the null pointer Exception to get a clarification.");
}
}
}

Ausgabe:

Java NullPointerException

Example #3

This program illustrates that the NullPointerException can be avoided using the proper object verification before initialization.

Code:

public class Good_Null_Pntr_Excpn {
public static void main(String[] args) {
String store = "Learning";
try
{
System.out.println(getLength(store));
}
catch(IllegalArgumentException e)
{
System.out.println("Need to catch the definition of illegalArgument.");
}
store = "Educba";
try
{
System.out.println(getLength(store));
}
catch(IllegalArgumentException e)
{
System.out.println("Need to catch the definition of illegalArgument.");
}
store = null;
try
{
System.out.println(getLength(store));
}
catch(IllegalArgumentException e)
{
System.out.println("Need to catch the definition of illegalArgument.");
}
}
public static int getLength(String store)
{
if (store == null)
throw new IllegalArgumentException("Need to catch the definition of illegalArgument.");
return store.length();
}
}

Output:

Java NullPointerException

How to Avoid NullPointerException?

As it is not a good practice to get NullPointerException as it makes the entire codebase cumbersome and consumes time for the programmers to figure out the root cause of the NullPointerException.

Therefore, it is very much needed to avoid these exceptions which can make sure using the following ways:

  • By comparing a string with the literals.
  • By keeping a check on the passed arguments or parameters being passed from the method.
  • By making use of the ternary operator.

Conclusion

Java NullPointerException is an exception which is not a good option and is recommended not to occur as it consumes a lot of time. Debugging and troubleshooting become difficult; therefore, it must keep in mind that before the initialization of the object, the reference of the object must be proper. Therefore, the reference of the object’s null value should be proper, and then it can be avoided.

Das obige ist der detaillierte Inhalt vonJava NullPointerException. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?Mar 17, 2025 pm 05:46 PM

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

Wie erstelle und verwende ich benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning und Abhängigkeitsmanagement?Wie erstelle und verwende ich benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning und Abhängigkeitsmanagement?Mar 17, 2025 pm 05:45 PM

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?Mar 17, 2025 pm 05:44 PM

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?Mar 17, 2025 pm 05:43 PM

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?Mar 17, 2025 pm 05:35 PM

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools