空指針異常產生的原因


1. 空指針異常的概念

java是沒有指針的,所以java中空指針異常情況中的“指針”是指的是java的引用,空指針就是空引用。
java空指針異常就是引用本身為空,卻調用了方法,這個時候就會出現空指針異常情況。
比如:成員變量和方法是屬於對象的,在對象中才存在相對應的成員變量和方法,然后通過對象去調用這些成員變量和方法。對於空指針情況,它不指向任何對象,也就沒有所謂的成員變量和方法,這個時候用它去調用某些屬性和方法,就一定會出現空指針異常情況。




2. 空指針產生的常見情況

  1. 當對象為null時,調用了其成員方法或屬性。
  2. 在使用equals()比較兩個對象是否相等時,當雙方是一個常量和一個變量把變量放在常量前且當變量為空的時候,運行時會報錯。
System.out.println(“abc”.equals(str5)); // 推薦:false
System.out.println(str5.equals(“abc”)); // 不推薦:報錯,空指針異常NullPointerException
  1. 對key、value不能為null的容器put為null的key、value值。
  2. 自己搞的一個集合,當集合為空時,對其遍歷會報空指針異常。PS:若使用mybatis做查詢返回集合時,當沒查到數據時,返回的集合不是空,而是一個size為0的集合。對其遍歷不會報空指針異常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM