本帖最后由 周兴中 于 2012-6-25 23:30 编辑
可以通过遍历BeanInfo的所有属性查看未知的属性,并用反射的方法设置其值得,示例如下:- User user = new User();//测试对象,其中属性均为私有
- BeanInfo beaninfo = Introspector.getBeanInfo(user.getClass());
- PropertyDescriptor[] pds = beaninfo.getPropertyDescriptors();//获取所有属性
- for(PropertyDescriptor pd : pds){
- System.out.println(pd.getName()+"--"+pd.getPropertyType());
-
- }
复制代码 通过此方法,你可以看到该User对象所有的属性的名称和类型.再通过以下方法设置其值
PropertyDescriptor pd1 = new PropertyDescriptor(属性名称, obj.getClass()) ;//通过属性名获取属性.
Method methodSetX = pd1.getWriteMethod();//通过属性获取set方法
methodSetX.invoke(obj, 参数); //通过方法设置其值.
|