/**
* 去除实体类所有String类型属性的空格
* @author yupanpan
* @date 2019/9/25 10:04
* @param object
* @param b true-去除字符串所有空格 false-只去除头尾空格
* @return java.lang.Object
*/
public static Object formatBeanStringBlankSpace(Object object,Boolean b){
//获取该类中所有的域(属性)
Field[] fields = object.getClass().getDeclaredFields();
for(Field field : fields){
//对所有的属性判断是否为String类型
if(field.getType().equals(String.class)){
//将私有属性设置为可访问状态
field.setAccessible(true);
try {
Object o = field.get(object);
if(o!=null&&!o.equals("")){
String string = (String)o;
if(b){
string = string.replaceAll(" ","");
}else {
string=string.trim();
}
//相当于调用了set方法设置属性
field.set(object,string);
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
return object;
}
Curiosamente string.trim (), el 90 por ciento de la idea es eliminar los espacios finales, no es realmente
Ver el siguiente código
Código en la idea, los siguientes efectos
Añadir myeclipse / Eclipse, no reconoce. El efecto siguiente
En Notepad ++, muy por debajo
Lo más importante es estar detrás del revestimiento (), este símbolo en particular en el eclipse no es visible, no el espacio. Si esta cadena aparece en el código, especialmente eclipse, la solución de problemas será muy doloroso
A partir de esto se puede ver, trim () no sólo como simple como eliminar el espacio, el código de vista de origen
A partir de los comentarios de vista, combinado con vista ASCII, que corresponden a 32 espacios, de hecho, trim () y antes del filtro es de 32 caracteres, tales problemas son generalmente raros, si no siempre conoce el problema, puede comenzar a partir de este momento, estamos más familiarizados la pestaña horizontal (^ I), el campo de transporte (^ M), y la colmena predeterminado ^ un separador utilizado en el filtro y así serán