踩坑记录一下
list集合为null,和list集合的size为0是俩回事,
引用
举个形象的例子,我有一个空着的水杯(list),而你没有,那你是null,我的size为0。你想装水就需要自己去买个水杯(new ArrayList();),但是我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出去啦(空指针异常)。
isEmpty()判断有没有元素,而size()返回有几个元素,
- null判断
list等于null,可理解为没有对list集合分配内存空间,实际上压根就不存在。
Hutool工具包中CollectionUtils.isNotEmpty()作用:判断参数不为null且其size不等于0
<dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.10</version> <!-- 替换为最新版本号 -->
</dependency> <!-- 其他依赖 -->
</dependencies>
List<String> list = new ArrayList<>(); List<String> list1 = null; List<String> list2 = new ArrayList<>(); list2.add("1"); System.out.println(CollUtil.isNotEmpty(list));//false System.out.println(CollUtil.isNotEmpty(list1));//false System.out.println(CollUtil.isNotEmpty(list2));//true