标签:equals ros hashmap throw esc method property utils java
使用内省方式来实现beanUtils往对象里面存值
public class BeanInfoUtil2 { public static void setPropertyByIntrospector(Object userInfo, Map<String,Object> map) throws Exception { //map key=name value=value BeanInfo beanInfo = Introspector.getBeanInfo(userInfo.getClass()); PropertyDescriptor[] proDescrtptors = beanInfo.getPropertyDescriptors(); if (proDescrtptors != null && proDescrtptors.length > 0) { for (PropertyDescriptor propDesc : proDescrtptors) { Method method = propDesc.getWriteMethod(); if (null==method) { continue; } for (String keys : map.keySet()) { if (method.getName().equals("set"+keys)) { method.invoke(userInfo, map.get(keys)); } } } } } }
测试类
Student s=new Student(); Map<String,Object> map=new HashMap<String,Object>(); map.put("Name", "张三"); map.put("Age", 15); BeanInfoUtil2.setPropertyByIntrospector(s, map); System.out.println(s.getName()); System.out.println(s.getAge());
标签:equals ros hashmap throw esc method property utils java
原文地址:http://www.cnblogs.com/fjkgrbk/p/introspection_.html