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

isEmpty()方法判断Map是否有内容(即new分配空间后是否put键值对),若没有内容则true,否则false
== null是判断map是否为null(即是否new分配空间,和其中的键值对没关系),若没有内容则true,否则false

Map map = new HashMap<String ,String>();
System.out.println("判断map是否有内容:"+map.isEmpty());//返回true
System.out.println("判断map是否为null:"+map==null);//返回false
 
 
 
Map map = new HashMap<String ,String>();
 map=null;
 System.out.println("判断map是否为null:"+(map==null));//结果为true
 System.out.println("判断map是否有内容:"+map.isEmpty());//NullPointerException
 
 
 
Map map = new HashMap<String ,String>();
 map.put(null,null);
 System.out.println("判断map是否为null:"+(map==null));//false
 System.out.println("判断map是否有内容:"+map.isEmpty());//false

但isEmpty()方法对map=null时会报错,所以推荐使用Apache的工具包下面的MapUtils.isEmpty()方法。既可以判空也可以判断是否有值。


版权声明:本文为qq_40093255原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。