真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaNullPointerException異常的原因是什么及怎么解決

本文小編為大家詳細(xì)介紹“Java NullPointerException異常的原因是什么及怎么解決”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Java NullPointerException異常的原因是什么及怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)什邡免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

1、NullPointerException異常原因

        一般空指針的原因就是:當(dāng)前正在使用的變量沒有對(duì)應(yīng)的值

        也就是說:當(dāng)前正在使用的變量沒有引用指向?qū)?yīng)的值/對(duì)象

        也可以這樣說:Null Pointer就相當(dāng)于Null Reference

        如下面的代碼都會(huì)報(bào)空指針異常:

public class Main {
    public static void main(String[] args) {
        String str1 = null;
        System.out.println(str1.toLowerCase());  //NullPointerException
    }
}


public class Main {
    String str2;    //默認(rèn)值為null
    public static void main(String[] args) {
        Main ma = new Main();
        System.out.println(ma.str2.toLowerCase());   //NullPointerException

    }
}

因?yàn)槌蓡T變量str2和局部變量str1都是默認(rèn)為null,所以都沒有具體的指向某個(gè)值/對(duì)象

        定位NullPointerException

        如果產(chǎn)生了NullPointerException,例如,調(diào)用a.b.c.x()時(shí)產(chǎn)生了NullPointerException,原因可能是:

                a是null;

                a.b是null;

                a.b.c是null;

        確定到底是哪個(gè)對(duì)象是null以前只能打印這樣的日志:

                System.out.println(a);

                System.out.println(a.b);

                System.out.println(a.b.c);

        如下面的代碼:

public class test20210629 {

    public static void main(String[] args) {
        Person p = new Person();    
        System.out.println(p.address.city);   //輸出:null
        System.out.println(p.name[0]);      //輸出:null
        System.out.println(p.address.city.toLowerCase());   //空指針異常
        System.out.println(p.name[0].toLowerCase());   //空指針異常

    }

}

class Person {
    String[] name = new String[2];
    Address address = new Address();
}

class Address {
    String city;
    String street;
    String zipcode;
}

        總結(jié):

        空指針發(fā)生的原因:一個(gè)變量A沒有值(或沒有指向?qū)?yīng)的對(duì)象),然后直接使用A的方法,或者將A當(dāng)成參數(shù)傳給其他對(duì)象/方法使用,就會(huì)報(bào)空指針異常!

2、NullPointerException異常解決辦法

第一步,先看一下異常是怎么產(chǎn)生的,在輸入一個(gè)這樣的地址:http://localhost:8083/***/***/***/***?productId=564564564573534,在控制臺(tái)就會(huì)如圖所報(bào)錯(cuò)

Java NullPointerException異常的原因是什么及怎么解決

 

第二步,要解決這樣的空指針錯(cuò)誤,就先要找到出錯(cuò)誤的JAVA代碼,點(diǎn)擊就可以,如圖:

Java NullPointerException異常的原因是什么及怎么解決

 

 

第三步,定位到j(luò)ava代碼后,在debug啟動(dòng)項(xiàng)目,并添加斷點(diǎn),怎么啟動(dòng)

Java NullPointerException異常的原因是什么及怎么解決

 

第四步,繼續(xù)第一步的地址,在debug的模式下可以看到此字段的值是Null, 如圖:

Java NullPointerException異常的原因是什么及怎么解決

 

第五步,輸入正確的productId,如正確的鏈接是:http://localhost:8083/***/***/***/***?productId=47681438955545,如圖,debug模式下此字段就不是null,如圖:

Java NullPointerException異常的原因是什么及怎么解決

 

第六步,如果沒有其他錯(cuò)誤的話,此時(shí)頁面也應(yīng)該打開了

Java NullPointerException異常的原因是什么及怎么解決

讀到這里,這篇“Java NullPointerException異常的原因是什么及怎么解決”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


本文題目:JavaNullPointerException異常的原因是什么及怎么解決
URL標(biāo)題:http://weahome.cn/article/jheigs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部