使用JAVA反射机制进行对象中字符串属性的空格去除 。
注意:如果属性本身就是一个“ ”,也是会进行替换。如果需要过滤,在object!=null后面追加判断就好了
public static void objectToTrim(Object obj) throws IllegalAccessException {
Map map = new HashMap<>();
Field[] declaredFields = obj.getClass().getDeclaredFields();
for (Field field:declaredFields){
String type = field.getType().getCanonicalName();
if (StringUtils.equals("java.lang.String", type)){
field.setAccessible(true);
Object object = field.get(obj);
if (object != null) {
String trim = object.toString().replace(" ","");
map.put(field.getName(),trim);
}
}
}
for (Field field:declaredFields){
if (map.get(field.getName())!=null){
String s = map.get(field.getName());
field.setAccessible(true);
field.set(obj,s);
}
}
}
public static void main(String[] args) throws IllegalAccessException {
IdCode idCode = new IdCode();
idCode.setDeleteFlag(1);
idCode.setCreateDate(LocalDateTime.now());
idCode.setDeptId(" ");
idCode.setEducationUrl(" abvc");
idCode.setIdCode(" b c ddd");
System.out.println(idCode.toString());
System.out.println("===================去掉了空格=====================");
objectToTrim(idCode);
System.out.println(idCode.toString());
}