package com.ktvoa.process.action; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.io.Serializable; import java.lang.reflect.Method; import com.ktv.lyk.bean.BeanHelper; /** * * @类名: MyBeanHelpers * @描述: TODO(反射帮助类) * @作者 LYK * @创建日期 2013-5-27 下午01:13:02 * */ public class MyBeanHelpers implements Serializable { /** * */ private static final long serialVersionUID = 3669020648421624404L; /** * 将实例化的对象赋给令一个对象 * * @param instanceObject * @param instanceAtr * @param clazz * @param clazzAtr */ public static Object invokeBeanToAnthoer(Object instanceObject, String[] instanceAtr, Class<? extends Object> clazz, String[] clazzAtr) { Object newObject = null; if(null!=instanceObject) { /* * if(instanceAtr.length!=clazzAtr.length) return; */ newObject = BeanHelper.newObject(clazz); int index = 0; PropertyDescriptor[] props = null; try { props = Introspector.getBeanInfo(instanceObject.getClass(), Object.class).getPropertyDescriptors(); for (String instance : instanceAtr) { for (int i = 0, size = props.length; i < size; i++) { if (props[i].getName().equals(instance)) { Object o= props[i].getReadMethod() .invoke(instanceObject); String value =(o==null)?"":o.toString(); Class<?> type = props[i].getReadMethod() .getReturnType(); Method set = newObject.getClass().getMethod( getSetMethodName(clazzAtr[index]), type); set.invoke(newObject, new Object[] { value }); index++; } } } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } return newObject; } private static String getSetMethodName(String n) { String v = (n.charAt(0) + "").toUpperCase() + n.substring(1, n.length()); return "set" + v; } }
最近下载更多
胜过这首歌 LV2
2023年6月27日
17852250910 LV2
2021年12月27日
157554513749 LV11
2020年8月1日
xuyongff LV24
2020年3月3日
chaoy_nx LV8
2020年2月25日
三生石sh1 LV13
2019年10月21日
逛逛逛 LV2
2019年8月13日
alreadyhome LV10
2019年6月6日
hanl LV12
2019年2月22日
wj024835 LV8
2019年1月25日
最近浏览更多
胜过这首歌 LV2
2023年6月27日
liuzejuncn LV6
2022年3月27日
17852250910 LV2
2021年12月27日
qwqqwq123
2021年7月14日
暂无贡献等级
hollwomanc LV1
2021年4月9日
pxqtsht LV16
2021年4月1日
zhaoyu_2016 LV2
2021年1月12日
chenliuyang
2020年10月13日
暂无贡献等级
随便取个名字_哈哈 LV27
2020年10月5日
157554513749 LV11
2020年8月1日