在看反射顺便做个笔记,目前知道的反射的对象都是要有对象的也就是实体Bean。
参考<强>:强> <强> Java反射简易教程强>
进口java.lang.reflect.Field; 进口java.util.ArrayList; 进口java.util.HashMap; 进口并不知道; 进口java.util.Map;/* * *反射处理Bean,得到里面的属性值 * * @author liulinsen * */公开课ReflexObjectUtil {/* * *单个对象的所有键值 * * @param对象 *单个对象 * * @return Map<字符串,Object>地图所有字符串键对象值例:{pjzyfy=0.00, * xh=1, zzyl=0.00, mc=住院患者压疮发生率,pjypfy=0.00, rs=0, pjzyts=0.00, * czydm=0037 lx=921, zssl=0.00} */公共静态Map<字符串,Object>getKeyAndValue(对象obj) { Object> Map<字符串;地图=new HashMap<字符串,Object> ();//得到类对象 类userCla=(类)obj.getClass ();/*得到类中的所有属性集合*/场[]fs=userCla.getDeclaredFields (); for (int i=0;我& lt;fs.length;我+ +){ 场f=f(我); f.setAccessible(真正的);//设置些属性是可以访问的 对象val=新对象(); 尝试{ val=f.get (obj);//得到此属性的值 map.put (f.getName (), val);//设置键值 } 抓住(IllegalArgumentException e) { e.printStackTrace (); } 抓住(IllegalAccessException e) { e.printStackTrace (); }/* *字符串类型=f.getType () .toString();//得到此属性的类型 * (type.endsWith(“字符串”)){ * System.out.println (f.getType () + " \ t是字符串");f.set (obj,“12”); *//给属性设值}else if (type.endsWith (int) | | * type.endsWith(整数)){ * System.out.println (f.getType () + " \ t是int ");f.set (obj, 12);//给属性设值 *其他}{System.out.println (f.getType () +“t \”);} */} system . out。println(“单个对象的所有键值==反射==" + map.toString ()); 返回地图; }/* * *单个对象的某个键的值 * * @param对象 *对象 * * @param关键 *键 * * @return对象键在对象中所对应得值没有查到时返回空字符串 */公共静态对象getValueByKey(对象obj,字符串键){//得到类对象 类userCla=(类)obj.getClass ();/*得到类中的所有属性集合*/场[]fs=userCla.getDeclaredFields (); for (int i=0;我& lt;fs.length;我+ +){ 场f=f(我); f.setAccessible(真正的);//设置些属性是可以访问的 尝试{ 如果(f.getName () .endsWith(关键)){ system . out。println(“单个对象的某个键的值==反射==" + f.get (obj)); 返回f.get (obj); } } 抓住(IllegalArgumentException e) { e.printStackTrace (); } 抓住(IllegalAccessException e) { e.printStackTrace (); } }//没有查到时返回空字符串 返回"; }/* * *多个(列表)对象的所有键值 * * @param对象 * @return List