Java通过反射机制动态设置对象属性值

/**
	 * MethodName: getReflection<br>
	 * Description:解析respXML 在通过反射设置对象属性值
	 * User: liqijing
	 * Date:2015-7-19下午12:42:55
	 * @param clzzName 
	 * @param respXML 
	 * @return
	 * @throws ClassNotFoundException
	 * @throws DocumentException
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws InstantiationException
	 * @throws SecurityException
	 * @throws NoSuchFieldException
	 */
	public static <T> Object getReflection(String clzzName , String respXML) throws ClassNotFoundException, DocumentException, IllegalArgumentException, IllegalAccessException, InstantiationException, SecurityException, NoSuchFieldException{
		Object o = Class.forName(clzzName).newInstance();
		Class clz = Class.forName(clzzName).newInstance().getClass();
		Document doc = null ;
		doc = DocumentHelper.parseText(respXML);
		Element el = doc.getRootElement();
		for (Field f : clz.getDeclaredFields()){
			Iterator it=el.elementIterator();
			while(it.hasNext()){
				Element elt = (Element) it.next();
				if(f.getName().equals(elt.getName())){
					f = clz.getDeclaredField(elt.getName());
					f.setAccessible(true);
					f.set(o, elt.getText());
				}
			}
		}
		return o;
	}


Dear All:

在开发过程中有类似的需求通过反射动态设置属性值,希望有帮助。也很高心与大家分享,谢谢。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值