public static void objectTrimAndRemoveRN(Object obj) {
if (obj == null) {
return;
}
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
Class<?> type = field.getType();
if ("class java.lang.String".equals(type.toString())) {
String fieldName = field.getName();
Object value = getValueByFieldName(fieldName, obj);
if (value != null) {
// doSetValue(obj, type, fieldName, value.toString().trim());//去除前后端空格
doSetValue(obj, type, fieldName, value.toString().replace(" ", ""));//去除所有空格
}
}
try {
field.setAccessible(true);
if ("List".equals(field.getType().getSimpleName())) {
if ("java.util.List<java.lang.String>".equals(field.getGenericType().toString())) {
List<String> list = (List<String>) field.get(obj);
if (list != null) {
for (int k = 0; k < list.size(); k++) {
String removeStringRN = removeStringRN(list.get(k));
list.remove(k);
list.add(k, removeStringRN);
}
field.set(obj, list);
}
} else {
List<Object> list = (List<Object>) field.get(obj);
if (list != null) {
for (int k = 0; k < list.size(); k++) {
removeObjectRN(list.get(k));
}
}
}
} else if ("String".equals(field.getType().getSimpleName())) {
if (field.get(obj)==null){
continue;
}
String value = removeStringRN((String) field.get(obj));
field.set(obj, value);
}
}catch (Exception e){
logger.error("对象去除回车换行失败:{}", e.toString());
}
}
}
private static String removeStringRN(String value) {
String remove1 = "\n";
String remove2 = "\r";
return value.replace(remove1, "").replace(remove2, "");
}
private static void doSetValue(Object obj, Class<?> classType, String fieldName, String value) {
String firstLetter = fieldName.substring(0, 1).toUpperCase();
String setter = "set" + firstLetter + fieldName.substring(1);
try {
Method method = obj.getClass().getMethod(setter, classType);
method.invoke(obj, value);
} catch (Exception e) {
e.printStackTrace();
}
}