有趣的list
今天在写项目时发现一个有趣的东西,list==null,list.isEmpty(),还有list.size()==0,返回的结果是不一样的。
我们在判断一个list集合是否为空,惯性思维是判断list是否等于null即可,
但是在Java中,list集合为空还是为null,是两码事。
新建一个list对象,默认值是空,而非null;
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
System.out.println(list);
}
//打印的结果
[]
那么,我们什么时候用null,什么时候用isEmpty()或list.size()呢?
isEmpty() 或者(list.size() == 0)用于判断List内容是否为空,即表里一个元素也没有,
但是使用isEmpty()和size()的前提是,list是一个空集合,而不是null,所以为了避免异常,
建议在使用或赋值list集合之前,做一次空集合创建处理,进行内存空间分配,即:
List list2 = new ArrayList()
list.isEmpty()和list.size()==0 没有区别, isEmpty()判断有没有元素,而size()返回有几个元素,
如果判断一个集合有无元素,建议用isEmpty()方法. 这清晰,简明
null判断
list等于null,可理解为没有对list集合分配内存空间,实际上压根就不存在。