Java中是使用增強for的null問題


在使用List和Map等集合時,我們經常會使用增強for來進行遍歷。但是這里面會存在一些問題。比如當你進行數據庫查詢是,得到的返回結果是List集合時,如果沒有查詢到符合要求的數據時List集合時null,並不是有對象而size為0的集合,這個時候就要對返回的結果進行空指針判斷,不為null的時候才能遍歷,否則回報空指針異常。

List<String> list = null;
for (String str : list) {//會報空指針異常
      System.out.println(str);
}
 
List<String> list = new ArrayList();//正常運行
for (String str : list) {
      System.out.println(str);
}

  1. 增強型for循環不支持遍歷時修改
  2. list為null時會報空指針異常;list為長度為0的空集合卻不會。所以每次使用for循環的時候要注意空值的判斷
  3. 使用增強型for循環時,對遍歷的集合需要做null判斷,不然可能引發空指針異常。


免責聲明!

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



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