在java开发中新手容易将判断一个list集合是否为空,只以If(list!=null)去判断,且容易和isEmpty()混淆,但是,list集合为空还是为null,是有区别的。
先看一下下面的例子,你是否会认为输出null呢?
看一下控制台输出结果:
造成这种结果其实是null判断是判断有没有对list集合分配内存空间,而不是list里面内容是否为空。
看一下isEmpty()
isEmpty() 和(list.size() == 0)都是判断List内容是否为空
new一个user对象,判断user的list内容是否为空,出现异常,这是因为, 使用isEmpty()和size()的前提是,list是一个空集合,而不是null,否则会抛异常。
所有我们在判断集合不为空的时候常采用:if(list!=null&&!list.isEmpty())的方法去取list里面的值