Java.lang.nullpointerexception on Java viga, mis juhtub siis, kui Java-rakendus proovib objekti asemel kasutada nulli.
RuntimeExceptioni laiendab NullPointerException, mis on avalik klass.
NullPointerException tõstatatakse mitmesugustes olukordades, näiteks kui kutsute nullobjekti eksemplari meetodit. See tõrge ilmneb ka siis, kui objekt on null ja proovite selle nullobjekti väljale juurde pääseda või seda redigeerida.
Kui proovite saada nullmassiivi pikkust, kuvatakse ka erand.
Selles artiklis vaatleme, kuidas käsitleda nullkursori erandit Javas.
Millal ilmneb java.lang.nullpointererand?
Kui mis tahes toimingu jaoks kasutatakse Java muutujat, mis ei osuta ühelegi objektile, tekib java.lang.nullpointererarand.
Käitusaja erand java.lang.nullpointerexception käitusaja erand on java.lang.nullpointerexception. Kui määrate muutuja, kuid ei määra seda objektile enne, kui proovite seda kasutada, saate Java nullpointer-erandi.
Peate silmas olematut olemit. Javas tähistab null konkreetset väärtust. Seda kasutatakse kõige sagedamini näitamaks, et võrdlusmuutujale ei ole väärtust määratud või sellele ei ole määratud väärtust.
NullPointerExceptioni vältimiseks veenduge enne muutuja kasutamist, et kõik objektid on õigesti lähtestatud.
Järgmised on mõned kõige sagedasemad NullPointerExceptioni stsenaariumid.
- Nullobjekti omaduste leidmine
- Nullobjekti kasutamine meetodite kutsumiseks
- Nullobjektil, kasutades sünkroonimist
- Erandviskemeetodist nulli viskamine
- Nullargumendid edastatakse meetodile.
- Juurdepääs nullobjekti indeksi elemendile (nagu massiivi puhul)
- Sõltuvuspõhiste raamistike (nt Spring) puhul on see säte vale.
Näide java.lang.nullpointererandist
NullPointerException visatakse, kui luuakse Java muutuja, mis ei viita objektile ja mida kasutatakse mõne tegevuse teostamiseks.
Järgmises näites püütakse määrata nulliks määratud stringi pikkust.
Java.lang.nullpointererandi parandamine
Parandus 1
Leidke java muutuja, mis teeb erandi java.lang. Kui tarkvara loob NullPointerExceptioni, kontrollige veel kord, et muutuja on väärtusele või objektile määratud.
Java.lang.nullpointererandist loobutakse, kui java muutujale on määratud väärtus.
Parandus 2
Enne java muutuja kasutamist toimingu läbiviimiseks kasutage vaikeväärtuse määramiseks kolmekomponentset operaatorit, kui java.lang.nullpointerexception visatakse muutujasse.
Muutuja väärtust kasutatakse juhul, kui see on olemas. Vastasel juhul kasutatakse java.lang.nullpointererandi vältimiseks vaikeväärtust.
Parandus 3
Kui te pole kindel, milline muutuja põhjustab java.lang.nullpointerexceptioni või kui on võimalus visata java.lang.nullpointerexception või kui on oht, et java.lang.nullpointerexception visatakse mitmesse kohta; nullkontrolli lisamine koodile on aeganõudev.
Probleemi lahendamiseks lisage sellele püüdmisplokk.
Parandus 4
Kui rakenduse java muutuja tekitab java.lang.nullpointererandi, tehke enne selle kasutamist nullkontroll.
Kui muutuja on null, vali alternatiivne marsruut. Erand java.nullpointer eemaldatakse.
Järeldus
Selles artiklis vaatlesime Java NullPointerExceptioni.
See on ohtlik erand, mis ilmneb sageli siis, kui me seda kõige vähem ootame. Nullkursori erandi kõige levinum põhjus on nullobjekt või nullviide.
Oleme juba näinud kõige tõhusamaid lahendusi.
Jäta vastus