背景
- 一直在想,list使用foreach遍歷時,需不需要進行空指針校驗,今天做個測試
測試
- List is NULL
- 測試代碼如下
public static void testForeach() { List<String> testList=null; testList.forEach(str->{ logger.info(str); }); }
-
- 結果如下:空指針異常
- List is 空
- 測試代碼如下
public static void testForeach() { List<String> testList=new LinkedList<>(); testList.forEach(str->{ logger.info(str); }); }
-
- 結果如下:正常運行
結論
- 當List進行foreach進行遍歷時,不會對List進行NULL校驗,
- 當List進行foreach進行遍歷時,當List為空時,不會進入foreach循環,
- 所以,在使用foreach遍歷List時,最好先進行空指針判斷!!!