1 import java.util.*; 2 3 public class RemoveNullKeyValueUtils { 4 /*移除Map中值为空的键值对*/ 5 public static void removeNullEntry(Map map) { 6 removeNullKey(map); 7 removeNullValue(map); 8 } 9 /*移除键为空的键值对*/ 10 public static void removeNullKey(Map map) { 11 Set set = map.keySet(); 12 for (Iterator iterator = set.iterator(); iterator.hasNext(); ) { 13 Object obj = (Object) iterator.next(); 14 remove(obj, iterator); 15 } 16 } 17 /*移除值为空的键值对*/ 18 public static void removeNullValue(Map map) { 19 Set set = map.keySet(); 20 for (Iterator iterator = set.iterator(); iterator.hasNext(); ) { 21 Object obj = (Object) iterator.next(); 22 Object value = (Object) map.get(obj); 23 remove(value, iterator); 24 } 25 } 26 27 private static void remove(Object obj, Iterator iterator) { 28 if (obj instanceof String) { 29 String str = (String) obj; 30 if (str == null || str.trim().isEmpty()) { 31 iterator.remove(); 32 } 33 } else if (obj instanceof Collection) { 34 Collection col = (Collection) obj; 35 if (col == null || col.isEmpty()) { 36 iterator.remove(); 37 } 38 39 } else if (obj instanceof Map) { 40 Map temp = (Map) obj; 41 if (temp == null || temp.isEmpty()) { 42 iterator.remove(); 43 } 44 45 } else if (obj instanceof Object[]) { 46 Object[] array = (Object[]) obj; 47 if (array == null || array.length <= 0) { 48 iterator.remove(); 49 } 50 } else { 51 if (obj == null) { 52 iterator.remove(); 53 } 54 } 55 } 56 }