解决判断关于网上增强

解决for循环为空不需要判断的问题

编程开发 2020-09-04 06:33:00 47

导读

关于网上说的增强式for和普通for循环为空不需要判断的问题:public class testData { public static void main(String[] args) { List<String> list = new ArrayLi……

关于网上说的增强式for和普通for循环为空不需要判断的问题:

public class testData {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    for ( String str:list){
      System.out.println("11");
    }
    for (int i = 0; i < list.size(); i++) {
      System.out.println("22");
    }
    list=null;
    for ( String str:list){
      System.out.println("11");
    }
    for (int i = 0; i < list.size(); i++) {
      System.out.println("22");
    }
  }
}

通过上述的代码,得出以下结论:当list为空的时候会报空指针异常,但是如果是一个空对象的时候会跳过for循环,不进行for循环中的任何的操作.

补充知识:增强for循环注意空集合问题

我就废话不多说了,大家还是直接看代码吧~

List<String> list = null;
for (String str : list) {
   System.out.println(str);
}

list为null时会报空指针异常;list为长度为0的空集合却不会。所以每次使用for循环的时候要注意空值的判断。


1253067 TFnetwork_cn