最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決java.lang.NullPointerException報錯以及分析出現(xiàn)的幾種原因

 更新時間:2021年12月09日 10:44:23   作者:宜春  
這篇文章介紹了解決java.lang.NullPointerException報錯的方法,以及分析出現(xiàn)的幾種原因。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

java.lang.NullPointerException出現(xiàn)的幾種原因:

1、字符串變量未初始化

2、接口類型的對象沒有用具體的類初始化,比如:

Map map // 會報錯

Map map = new Map(); //則不會報錯了

3、當一個對象的值為空時,你沒有判斷為空的情況。

4、字符串與文字的比較,文字可以是一個字符串或Enum的元素,如下會出現(xiàn)異常

String str = null;

if(str.equals(“Test”)){undefined

//這里的代碼將不會被觸發(fā),因為會拋出java.lang.NullPointerException異常。

}

5、優(yōu)先使用String.valueOf()方法代替toString()

當程序代碼需要對象的字符串表示形式時,請避免使用該對象的toString方法。如果你的對象的引用等于null,NullPointerException則會拋出,使用靜態(tài)String.valueOf方法,該方法不會拋出任何異常并打印"null"

6、class被聲明了類型, 默認 class = null; 這樣在調(diào)用class中方法的時候系統(tǒng)只能給你個空指針異常, 給其實例化就好了:class = new Class();

7、返回null,方法的返回值不要定義成為一般的類型,而是用數(shù)組。這樣如果想要返回null的時候就能避免許多不必要的NullPointerException

總之,NullPointerExceptionRuntimeException派生出來,是一個運行時異常。其意指可能會在運行的時候才會被拋出,一個變量是null,及只有其名,沒有實值內(nèi)容,也沒分配內(nèi)存,當你要去取他的長度,對他進行操作就會出現(xiàn)NullPointException,所以聲明變量時最好給它分配好內(nèi)存空間,給予賦值,例如拿該變量與一個值比較時,要么先做好該異常的處理要么給它進行判斷先: if (str !=null && str “”){ …}

判斷一個String的實例s是否等于“a”時,不要寫成s.equals(“a”),這樣容易拋NullPointerException,而寫成"a".equals(s)就可以避免這個問題,不過對變量先進行判空后再進行操作更好,盡量避免返回null,方法的返回值不要定義成為一般的類型,用數(shù)組。這樣如果想要返回null的時候,就返回一個沒有元素的數(shù)組。就能避免許多不必要的NullPointerException

下圖為異常分布圖:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Springboot初始化項目并完成登入注冊的全過程

    Springboot初始化項目并完成登入注冊的全過程

    工作之余,想要學習一下SpringBoot,通過網(wǎng)絡大量教程最終成功運行SpringBoot項目,下面這篇文章主要給大家介紹了關于Springboot初始化項目并完成登入注冊的相關資料,需要的朋友可以參考下
    2022-10-10
  • Windows安裝Maven并配置環(huán)境的詳細步驟

    Windows安裝Maven并配置環(huán)境的詳細步驟

    Maven是一個非常流行的構建和項目管理工具,用于Java開發(fā),它提供了一個強大的依賴管理系統(tǒng)和一系列標準化的構建生命周期,本文將指導您如何在Windows操作系統(tǒng)上安裝和配置Maven,需要的朋友可以參考下
    2023-05-05
  • Java對象數(shù)組的添加、刪除和遍歷代碼示例

    Java對象數(shù)組的添加、刪除和遍歷代碼示例

    在Java編程中,我們經(jīng)常需要對數(shù)據(jù)結構進行遍歷操作,并根據(jù)業(yè)務需求刪除部分元素,這篇文章主要給大家介紹了關于Java對象數(shù)組的添加、刪除和遍歷的相關資料,需要的朋友可以參考下
    2024-04-04
  • SpringBoot整合MyCat實現(xiàn)讀寫分離的方法

    SpringBoot整合MyCat實現(xiàn)讀寫分離的方法

    這篇文章主要介紹了SpringBoot整合MyCat實現(xiàn)讀寫分離的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Java并發(fā)編程之詳解CyclicBarrier線程同步

    Java并發(fā)編程之詳解CyclicBarrier線程同步

    在之前的文章中已經(jīng)為大家介紹了java并發(fā)編程的工具:BlockingQueue接口,ArrayBlockingQueue,DelayQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue,BlockingDeque接口,ConcurrentHashMap,CountDownLatch,本文為系列文章第十篇,需要的朋友可以參考下
    2021-06-06
  • Java享元設計模式優(yōu)化對象創(chuàng)建提高性能和效率

    Java享元設計模式優(yōu)化對象創(chuàng)建提高性能和效率

    Java享元設計模式通過共享可重用的對象,減少了系統(tǒng)中對象的數(shù)量,優(yōu)化了對象的創(chuàng)建和管理,提高了性能和效率。它是一種經(jīng)典的設計模式,適用于需要處理大量相似對象的應用程序
    2023-04-04
  • Springboot自帶定時任務實現(xiàn)動態(tài)配置Cron參數(shù)方式

    Springboot自帶定時任務實現(xiàn)動態(tài)配置Cron參數(shù)方式

    這篇文章主要介紹了Springboot自帶定時任務實現(xiàn)動態(tài)配置Cron參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java中實現(xiàn)Comparable和Comparator對象比較

    Java中實現(xiàn)Comparable和Comparator對象比較

    這篇文章主要針對Java中Comparable和Comparator對象進行比較,感興趣的小伙伴們可以參考一下
    2016-02-02
  • java 線程池keepAliveTime的含義說明

    java 線程池keepAliveTime的含義說明

    這篇文章主要介紹了java 線程池keepAliveTime的含義說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 最新Spring Security實戰(zhàn)教程之Spring Security安全框架指南

    最新Spring Security實戰(zhàn)教程之Spring Security安全框架指南

    SpringSecurity是Spring生態(tài)系統(tǒng)中的核心組件,提供認證、授權和防護機制,以保護應用免受各種安全威脅,它支持多種認證方式,并通過攔截器和過濾器鏈進行安全檢查,本文通過搭建SpringBoot+SpringSecurity項目,幫助如何快速上手并應用SpringSecurity,感興趣的朋友一起看看吧
    2025-03-03

最新評論

长兴县| 宁德市| 上林县| 鄂尔多斯市| 江阴市| 怀集县| 扎鲁特旗| 鄄城县| 西充县| 漾濞| 乌拉特中旗| 溧阳市| 耿马| 宽甸| 苗栗县| 长阳| 道孚县| 南澳县| 大英县| 南充市| 缙云县| 乾安县| 甘南县| 页游| 前郭尔| 随州市| 霍邱县| 新民市| 海淀区| 文昌市| 新田县| 衡阳县| 兰考县| 黎川县| 明溪县| 肥西县| 囊谦县| 广汉市| 海口市| 苍山县| 寿阳县|