- 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 }