package screendata.util;
import com.alibaba.fastjson.JSON;
import TransferInfo;
import org.reflections.ReflectionUtils;
import java.lang.reflect.Field;
import java.util.*;
/**
*/
public class ReflectionUtil {
public static Map<String, Object> beanToMap(Object obj) {
return beanToMap(obj, null);
}
public static Map<String, Object> beanToMap(Object obj, List<String> excludes) {
Map<String, Object> mapBean = new HashMap();
if(obj == null) {
return mapBean;
}
if(null == excludes) {
excludes = new ArrayList<String>();
}
Set<Field> fields = ReflectionUtils.getAllFields(obj.getClass());
//排序
Map<String, Field> fieldsMap = new TreeMap<String, Field>();
for(Field f : fields) {
fieldsMap.put(f.getName(), f);
}
for(Map.Entry<String, Field> entry : fieldsMap.entrySet()) {
Field f = entry.getValue();
f.setAccessible(true);
if (excludes.contains(f.getName().toLowerCase())) {
continue;
}
Object value = null;
try {
value = f.get(obj);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
if(value != null) {
mapBean.put(f.getName(), value);
}
}
return mapBean;
}
public static void main(String[] args) {
TransferInfo transferInfo = new TransferInfo();
transferInfo.setUid("1111");
transferInfo.setProcessDate(new Date());
transferInfo.setHqCode("755Y");
transferInfo.setAreaCode("755Y");
transferInfo.setInitLoadUnDepart(11111);
Map<String, Object> beanMap = ReflectionUtil.beanToMap(transferInfo);
System.out.println(JSON.toJSONString(beanMap));
}
}
<!-- 引入第三方反射工具类 begin -->
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.9-RC1</version>
</dependency>