Hoe te repareren Java: Lang NullPointerException

Een Null Pointer Exception of java.lang.NullPointerException, treedt op wanneer een toepassing toegang probeert te krijgen een verwijzing type dat niet is geïnitialiseerd.Op Java nonprimitive types zoals String of Integer houden een pointer naar een waarde, niet de waarde zelf.Als u probeert te verwijzen naar een referentie-type en niet is geïnitialiseerd, wordt de aanwijzer niet wijzen op iets, en is daarom nietig.Dit gebeurt meestal wanneer een reference type wordt doorgegeven als een argument voor een methode.De eenvoudigste manier om de uitzondering te gaan is om de methode wat te doen als het een null pointer ontvangt vertellen.

Het creëren van een eenvoudige klasse te produceren de NullPointerException

  1. Maak een nieuwe klasse in uw toepassing als volgt.Deze klasse is ontworpen om een ​​null-pointer uitzondering produceren.

    public class NullPointTest {

    public static void main (String [] args) {

    taak (null);

    }

    public static void taak (Integer x) {

    int y = 1 + x;

    }

    }

  2. Run de klas.Het volgende zal afdrukken naar de console:

    Uitzondering in thread "main" java.lang.NullPointerException

    bij NullPoint.task (NullPoint.java:10)

    bij NullPoint.main (NullPoint.java:6)

  3. Kennisgeving het probleem treedt op omdat u null doorgeven en uw "taak" methode verwacht een pointer naar een integer.

Printing een fout voor het debuggen

  1. Voeg de volgende code voor het begin van de "taak" methode.Dit zal u toelaten om te debuggen door te laten zien waar de waarde null wordt ontvangen.

    if (x == null) {

    System.out.println ("task () heeft een waarde van nul ontvangen voor x");

    }

  2. Controleer of uw code ziet er als volgt uit:

    public class NullPointTest {

    public static void main (String [] args) {

    taak (null);

    }

    public static void taak (Integer x) {

    if (x == null) {

    System.out.println ("task () heeft een ongeldige waarde voor x ontvangen");

    }

    int y = 1 + x;

    }

    }

  3. Run de klas.Het volgende dient te drukken om het scherm in plaats van de uitzondering: ". Taak () heeft een ongeldige waarde voor x ontvangen"

Handling de Exception

  1. Wijs een standaard waarde wanneer een null-waarde wordt doorgegeven door het toevoegen van het volgende aan het begin van de "taak" methode.

    if (x == null) {

    x = 1;

    }

  2. Controleer of uw code ziet er als volgt uit:

    public class NullPointTest {

    public static void main (String [] args) {

    taak (null);

    }

    public static void taak (Integer x) {

    if (x == null) {

    x = 1;

    }

    int y = 1 + x;

    }

    }

  3. Run de klas.Je moet niet meer zien de NullPointerException omdat x wijst nu naar 1.

990
0
2
Programmeren In Java