判断List集合是否为空
Java中,判断List集合是否为空与是否为null并不相同
新建List对象,默认是为空,即没有数据,而不是null
如:
List<User> list = new ArrayList<User>();
list1.size()==0和isEmpty()判断的是list1内的内容为空,而不是一个空集合,null
List list2 = null;
这样声明的list2为null
测试下list是否为空
List<User> list1 = new ArrayList<User>();
if (list1 != null) {
System.out.println(list1.size() + "1");
}
if (list1.size() > 0) {
System.out.println("2");
}
if (null == list1) {
System.out.println("3");
}
if (list1.size() == 0) {
System.out.println("4");
}
if (list1 != null && list1.size() == 0) {
System.out.println("test list==0");
}
if (list1 != null && list1.size() > 0) {
System.out.println("test list>0");
}
List<User> list2 = null;
System.out.println(list2 + "==>list2=null");
输出得到:
01
4
test list==0
null==>list2=null
可以得到list1.size()为0,可以理解为对list集合分配内存空间,但数据为空
而list2为null,系统并没有weiqi为其分配空间
网上有个例子,list1可以比喻成空的水杯,没有水,所以size为0
而list2则没有水杯,空指针异常
List集合判断2个条件
if(null == list || list.size() ==0 ){
}
- 判断null == list ,判断是否有这个容器水杯
- list.size() == 0,判断容器水杯内是否有水
- list.size()和list.isEmpty()判断含义一致