这个是自己写的方法, 可能有点杂乱.
public class ConvertUtil {
/**
* 把非空属性拷贝到新对象
*
* @param from
* @param to
*/
public static void copyProperties(Object from, Object to) {
try {
Class<? extends Object> clazz = from.getClass();
Field[] fields = clazz.getDeclaredFields();
Object fromV;
Object toV;
// 遍历字段
for (Field field : fields) {
try {
field.setAccessible(true);
fromV = field.get(from);
toV = field.get(to);
if (toV instanceof String) {
if (!TextUtils.isEmpty((String) fromV)) {
field.set(to, fromV);
}
} else if (toV instanceof ArrayList) {
ArrayList fromArr = (ArrayList) fromV;
if (fromArr != null && fromArr.size() > 0) {
field.set(to, fromArr);
}
} else {
if (fromV != null) {
field.set(to, fromV);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
}
}
/**
* json装为bean
*
* @param json
* @param clazz
* @return
*/
public static <T> T json2Bean(JSONObject json, Class<T> clazz) {
T obj = null;
try {
obj = newInstance(clazz);
doJson2Bean(json, obj);
return obj;
} catch (Exception e) {
e.printStackTrace();
return obj;
}
}
/**
* beanlist转为mapList
*
* @param beanList
* @return
*/
public static <T> ArrayList<HashMap<String, Object>> beanList2mapList(ArrayList<T> beanList) {
ArrayList<HashMap<String, Object>> mapList = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> map;
if (beanList != null) {
for (T bean : beanList) {
map = new HashMap<String, Object>();
try {
Field[] fields = bean.getClass().getDeclaredFields();
Object value;
// 遍历字段
for (Field field : fields) {
try {
field.setAccessible(true);
value = field.get(bean);
if (value != null)
map.put(field.getName(), value);
} catch (Exception e