这里有新鲜出炉的Java并发编程示例,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
下面小编就为大家带来一篇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:
在开发过程中有类似的需求通过反射动态设置属性值,希望有帮助。也很高兴与大家分享,谢谢。
以上这篇Java通过反射机制动态设置对象属性值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHPERZ。
来源: http://www.phperz.com/article/17/1109/360330.html