java中以类为参数将其哥属性值中的空格去除

其实在java中去除字符串中的空格是很简单的:str.replace(" ", "")(去除字符串中所有空格)trim()(将字符串前后的空格去除),但是当要对类每个属性去判断还是很麻烦。

我们经常从前台传以类为对象的参数,如果类的属性比较少还好,如果有十几二十个要判断的,代码就太多了。

这里仍然使用java的 invoke反射来获取属性的get和set方法,我在java实现以类为对象把各属性值值放入map里已经 写过获取 get方法的代码,这里主要写set方法


	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, new Class[]{classType});
			method.invoke(obj, new Object[] {value});  
		}catch (Exception e){
			e.printStackTrace();
		}
	}

其实获取调用set方法和get方法大致相同,只不过set方法是有参数的,因此要在getMethod方法中传入带了属性类型的Class[]{classType}.
去除类对象中个属性空格的逻辑也很简单,就是遍历各属性,当其值不为null且类型为String时利用java.lang.String自带的去除空格方法操作即可,代码如下。
public static Object trimObject(Object obj){
	if(obj==null)
		return null;
	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(" ", "") );去除所有空格
			}
		}
				
	}
	return obj;
		
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值