如何判断List 集合和Map 集合是否为空
1:废话少说,直接上代码
//使用CollectionUtils Spring 包下的工具类
List<Object> list = new ArrayList<>();
if (list.isEmpty()) {
log.info("当前的CollectionUtils-->{}",list.isEmpty());
}
if (CollectionUtils.isEmpty(list)){
log.info("当前的CollectionUtils-->{}",CollectionUtils.isEmpty(list));
}
//ObjectUtils Spring 包下的工具类
if (ObjectUtils.isEmpty(list)) {
log.info("当前的ObjectUtils-->:{}",ObjectUtils.isEmpty(list));
}
执行结果如下:
1.1:特殊情况
ArrayList<Object> list1 = new ArrayList<>();
list1 = null;
try{
//如果将list1 置为 null 进行判断非空的情况下 可以使用Objects.isNull() 方法
if (Objects.isNull(list1)){
log.info("Objects.isNull-->{}",Objects.isNull(list1));
}
//如果调用 isEmpty() 方法进行判断非空的情况下 就会报空指针异常, 报错异常原因如下
if (list1.isEmpty()) {
log.info("list1.isEmpty()-->,{}",list1.isEmpty());
}
}catch (Exception e) {
log.info("Exception-->",e);
}
打印结果如下:
调用isEmpty 方法报错原因如下:
此时使用isEmpty()是出现了空指针异常NullpointException;原来isEmpty()用来判断一个变量是否已经初始化了,因为 “” 和new 的时候系统都会为其分配内存, 不管是否有值,当为null的时候,系统的不会为其分配内存,这是它是不存在的,如果调用isEmpty()方法时JDK根本不知道这是什么所以会报空指针异常;所以使用该方法判断之前应先判断是否为null
2:Map 集合
Map<String,String> map = new HashMap();
// map.put("1","xia");
if (map.isEmpty()){
log.info("map.isEmpty-->{}", map.isEmpty()); //为真打印True
}else {
log.info("map.isEmpty-->{}", map.isEmpty()); //为假打印FALSE
}
//判断map 集合中是否 存在 键值为: 1 的数据
if (map.containsKey("1")) {
log.info("map.containsKey-->{}", map.get(1));
}
// 使用ObjectUtils 来判断map 集合是否为空
if (ObjectUtils.isEmpty(map)) {
log.info("当前的ObjectUtils集合为空:{}",map.isEmpty());
}
//判断map 集合中的value 值是否为空
map.put("2","");
if ("".equals(map.get("2"))) {
log.info("当前的value值为:{}", map.get(2));
}
打印结果如下:
2.1:特殊情况
HashMap<Object, Object> map1 = new HashMap<>();
map1 = null;
try {
if (Objects.isNull(map1)) {
log.info("Objects.isNull-->{}",Objects.isNull(map1));
}
if (ObjectUtils.isEmpty(map1)) {
log.info("ObjectUtils.isEmpty-->{}",ObjectUtils.isEmpty(map1));
}
if (map1.isEmpty()) {
log.info("当前的map集合为空:{}",map1.isEmpty());
}
}catch (Exception e) {
// 此时使用isEmpty()是出现了空指针异常NullpointException;
// 原来isEmpty()用来判断一个变量是否已经初始化了,
因为 “” 和new 的时候系统都会为其分配内存,
// 不管是否有值,当为null的时候,系统的不会为其分配内存,这是它是不存在的,
// 如果调用isEmpty()方法时JDK根本不知道这是什么所以会报空指针异常;
// 所以使用该方法判断之前应先判断是否为null
log.error("报错了,{}",e);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话