public class aa {
public static<T extends AbstractVo> T rtrimVoString(T vo){
Class<?> clazz = vo.getClass();
Field[] fields = clazz.getDeclaredFields();
Method setMethod = null;
Method getMethod = null;
for(Field f : fields){
class tc = f.getType();
try{
if(String.class.isAssignableFrom(tc)){
String itemName = titleCase(f.getName());
getMethod = clazz.getMethod("get"+itemName);
setMethod = clazz.getMethod("set"+itemName, String.class);
String val = (String)getMethod.invoke(vo);
setMethod.invoke(vo, trimRight(val));
}else if(AbstractVo.class.isAssignableForm(tc)){
String itemName = titleCase(f.getName());
getMethod = clazz.getMethod("get"+itemName);
setMethod = clazz.getMethod("set"+itemName, tc);
AbstractVo abstractVo = (AbstractVo)getMethod.invoke(vo);
rtrimVoString(abstractVo);
setMethod.invoke(vo, abstractVo);
}
}catch (Excetption e){
e.printStackTrace();
}
return vo;
}
}
public static String trimRight(String s){
String sResult = "";
if(s.startsWith(" ")){
if(s.trim().length()==0){
sResult = "";
}else {
sResult = s.substring(0,s.indexOf(s.trim().substring(0,1)+s.trim().length()));
}
}else {
sResult = s.trim();
}
return sResult;
}
public static String titleCase(String s){
char[] c = s.toCharArray();
if((c[0] >= 'a') && (c[0] <= 'z') ){
c[0] = Character.toChars(Character.valueOf(c[0]) - 32)[0];
}
return new String(c);
}
07-03
7221
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-28
2954
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-24
1532
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交