Inhoudsopgave[Zich verstoppen][Laten zien]
De java.lang.nullpointerexception is een Java-fout die optreedt wanneer een Java-toepassing een null probeert te gebruiken in plaats van een object.
De RuntimeException wordt uitgebreid met de NullPointerException, een openbare klasse.
De NullPointerException wordt in verschillende situaties aan de orde gesteld, bijvoorbeeld wanneer u de instantiemethode van een null-object aanroept. Deze fout treedt ook op als een object null is en u probeert een veld van dat null-object te openen of te bewerken.
Als u de lengte van een null-array probeert te krijgen, wordt ook een uitzondering gegenereerd.
In dit artikel zullen we bekijken hoe u een Null Pointer Exception in Java afhandelt.
Wanneer java.lang.nullpointerexception optreedt?
Wanneer een java-variabele die niet naar een object verwijst, wordt benaderd voor een actie, treedt de java.lang.nullpointer-uitzondering op.
Runtime-uitzondering java.lang.nullpointerexception een uitzondering op runtime is de java.lang.nullpointerexception. Wanneer u een variabele definieert maar deze niet aan een object toewijst totdat u deze probeert te gebruiken, krijgt u een java nullpointerexception.
Je verwijst naar een niet-bestaande entiteit. In Java geeft null een bepaalde waarde aan. Het wordt meestal gebruikt om aan te geven dat een referentievariabele geen waarde heeft gekregen of geen waarde heeft gekregen.
Om een NullPointerException te voorkomen, moet u ervoor zorgen dat alle objecten correct zijn geïnitialiseerd voordat u de variabele gebruikt.
Hier volgen enkele van de meest voorkomende NullPointerException-scenario's:
- Bij de eigenschappen van een null-object komen
- Een null-object gebruiken om methoden aan te roepen
- Op een null-object, met behulp van gesynchroniseerd
- Null gooien vanuit een methode voor het gooien van uitzonderingen
- Null-argumenten worden doorgegeven aan een methode.
- Toegang krijgen tot het indexelement van een null-object (zoals in een array)
- Voor frameworks voor afhankelijkheidsinjectie zoals Spring is deze instelling onjuist.
Voorbeeld van java.lang.nullpointerexception
De NullPointerException wordt gegenereerd als een Java-variabele wordt gemaakt die niet naar een object verwijst en wordt gebruikt om een activiteit uit te voeren.
In het volgende voorbeeld wordt geprobeerd de lengte te bepalen van de tekenreeks die is ingesteld op null.
De java.lang.nullpointerexception repareren
Fix 1
Zoek de java-variabele die de uitzondering java.lang genereert. Als de software een NullPointerException genereert, controleer dan nogmaals of de variabele is toegewezen aan een waarde of object.
De uitzondering java.lang.nullpointer wordt afgewezen als er een waarde aan de java-variabele wordt toegewezen.
Fix 2
Gebruik de ternaire operator om de standaardwaarde op te geven voordat u de java-variabele gebruikt om de actie uit te voeren als een java.lang.nullpointerexception wordt in de variabele gegooid.
De waarde van de variabele wordt gebruikt als deze er een heeft. Anders zou de standaardwaarde worden gebruikt om een java.lang.nullpointer-uitzondering te vermijden.
Fix 3
Als je niet zeker weet welke variabele de java.lang.nullpointerexception veroorzaakt of als er een kans is dat java.lang.nullpointerexception wordt gegenereerd, of als het risico bestaat dat java.lang.nullpointerexception op verschillende plaatsen wordt gegenereerd; het is tijdrovend om een nulcontrole aan de code toe te voegen.
Om het probleem op te lossen, voegt u er een catch-blok aan toe.
Fix 4
Als de java-variabele in de toepassing een java.lang.nullpointer-uitzondering genereert, voer dan een null-controle uit voordat u deze gebruikt.
Neem de alternatieve route als de variabele null is. De java.nullpointer-uitzondering wordt verwijderd.
Conclusie
In dit artikel hebben we gekeken naar de Java NullPointerException.
Dit is een gevaarlijke uitzondering die vaak verschijnt wanneer we het het minst verwachten. De meest voorkomende oorzaak van een Null Pointer Exception is een null-object of een null-referentie.
De meest effectieve oplossingen hebben we al gezien.
Laat een reactie achter