使用了反射和递归
/**
* 去掉对象的换行符
*
* @param object
* @throws IllegalArgumentException
* @throws IllegalAccessException
*/
public static void removeObjectRN(Object object) throws IllegalArgumentException, IllegalAccessException {
Class personClass = object.getClass();
Field[] fields = personClass.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
fields[i].setAccessible(true);
if ("List".equals(fields[i].getType().getSimpleName())) {
if ("java.util.List<java.lang.String>".equals(fields[i].getGenericType().toString())) {
List<String> list = (List<String>) fields[i].get(object);
if (list != null) {
for (int k = 0; k < list.size(); k++) {
String removeStringRN = removeStringRN(list.get(k));
list.remove(k);
list.add(k, removeStringRN);
}
fields[i].set(object, list);
}
} else {
List<Object> list = (List<Object>) fields[i].get(object);
if (list != null) {
for (int k = 0; k < list.size(); k++) {
removeObjectRN(list.get(k));
}
}
}
} else if ("String".equals(fields[i].getType().getSimpleName())) {
String value = removeStringRN((String) fields[i].get(object));
fields[i].set(object, value);
}
}
}
/**
* 去掉String里面的换行符
*
* @param value
* @return
*/
public static String removeStringRN(String value) {
String remove1 = "\n";
String remove2 = "\r";
return value.replace(remove1, "").replace(remove2, "");
}