Map中的isEmpty()与==null的区别

这个问题必须注意一下,最容易报 NullPointerException。。。。。

  • 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
1  Map map = new HashMap<String ,String>();
2  map=null;
3  System.out.println("判断map是否为null:"+(map==null));//结果为true
4  System.out.println("判断map是否有内容:"+map.isEmpty());//NullPointerException
1 Map map = new HashMap<String ,String>();
2 map.put(null,null);
3 System.out.println("判断map是否为null:"+(map==null));//false
4 System.out.println("判断map是否有内容:"+map.isEmpty());//false

猜你喜欢

转载自blog.csdn.net/Com_ma/article/details/81260518