- 移除map中的value空值
- Bean转Map
- Map转Bean
/**
* 1.移除map中的value空值
* @param map
* @return
*/
public static void removeNullValue(Map map){
Set set = map.keySet();
for (Iterator iterator = set.iterator(); iterator.hasNext();) {
Object obj = (Object) iterator.next();
Object value =(Object)map.get(obj);
remove(value, iterator);
}
}
private static void remove(Object obj,Iterator iterator){
if(obj instanceof String){
String str = (String)obj;
if(isEmpty(str)){ //过滤掉为null和""的值 主函数输出结果map:{1=AA, 5=CC, 8= }
// if("".equals(str.trim())){ //过滤掉为null、""和" "的值 主函数输出结果map:{2=BB, 1=AA}
iterator.remove();
}
}else if(obj instanceof Collection){
Collection col = (Collection)obj;
if(col==null||col.isEmpty()){
iterator.remove();
}
}else if(obj instanceof Map){
Map temp = (Map)obj;
if(temp==null||temp.isEmpty()){
iterator.remove();
}
}else if(obj instanceof Object[]){
Object[] array =(Object[])obj;
if(array==null||array.length<=0){
iterator.remove();
}
}else{
if(obj==null){
iterator.remove();
}
}
}
public static boolean isEmpty(Object obj){
return obj == null || obj.toString().length() == 0;
}
/**
* 2.Bean转Map
*/
public static <T> Map<String, Object> beanToMap(T bean) {
Map<String, Object> map = new HashMap<>();
if (bean != null) {
BeanMap beanMap = BeanMap.create(bean);
for (Object key : beanMap.keySet()) {
map.put(key+"", beanMap.get(key));
}
}
return map;
}
/**
* 3.Map转Bean
*/
public static <T> T mapToBean(Map<String, Object> map,Class<T> clazz) throws Exception {
T bean = clazz.newInstance();
BeanMap beanMap = BeanMap.create(bean); //net.sf.cglib.beans.BeanMap
beanMap.putAll(map);
return bean;
}