java中Map判断是否为空之isEmpty()与==null的区别

  • isEmpty()方法判断Map是否有内容(即new分配空间后是否put键值对),若没有内容则true,否则false
  • == null是判断map是否为null(即是否new分配空间,和其中的键值对没关系),若没有内容则true,否则false
复制代码
 1 Map map = new HashMap<String ,String>();
 2 System.out.println("判断map是否有内容:"+map.isEmpty());//返回true
 3 System.out.println("判断map是否为null:"+map==null);//返回false
 4 
 5 Map map = new HashMap<String ,String>();
 6 map=null;
 7 System.out.println("判断map是否为null:"+(map==null));//结果为true
 8 System.out.println("判断map是否有内容:"+map.isEmpty());//NullPointerException
 9 
10 Map map = new HashMap<String ,String>();
11 map.put(null,null);
12 System.out.println("判断map是否为null:"+(map==null));//false
13 System.out.println("判断map是否有内容:"+map.isEmpty());//false
复制代码

 

新说明:

前言

比如:判断list是否为空,通过我们是这样判断的:

1 if(null != list && list.size() > 0){
2     // ...
3 }

写多了,就感觉太繁琐了。然后list里面自带的有这样一个方法:

list.isEmpty()

它可以判断list是否有数据。但是如果list 是一个null,那么这个方法就会报java.lang.NullPointerException异常。

记得之前在某篇文章看到的,推荐使用这个方法来判断:

CollectionUtils.isEmpty(list)

测试

1 public static void main(String[] args) {
2     List list1 = new ArrayList();
3     List list2 = null;
4     System.out.println("结果1:" + CollectionUtils.isEmpty(list1));
5     System.out.println("结果2:" + CollectionUtils.isEmpty(list2));
6     System.out.println("结果3:" + list1.isEmpty());
7     System.out.println("结果4:" + list2.isEmpty());
8 }

 

posted @   古德猫宁ovo  阅读(1586)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示