天天看點

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()方法。既可以判空也可以判斷是否有值。