利用反射得到属性的值

来源:互联网 发布:淘宝详情页切图大小 编辑:程序博客网 时间:2024/05/21 05:43

利用反射得到属性的值

第一种,通用类型,得到的返回类型都是String

String e = BeanUtils.getProperty(po, keyName);

第二种,已知属性数据类型

PropertyUtilsBean propertyUtilsBean = new PropertyUtilsBean();Date e = (Date) propertyUtilsBean.getProperty(po, keyName);

已知属性名,如何获取方法

转http://www.iteye.com/problems/69524 帖子中 RobustTm 的回答

User user = new User();  user.getClass().getMethod(setMethodName, parameterTypes).invoke(user, setValue);  

setMethodName:就是你的set方法名,比如setUsername
parameterTypes:应该是参数类型吧
user 就是你要操作的类对象
setValue 就是你要set的值

不过感觉还是很麻烦的吧,因为set的值的类型不一样,可能还要判断
你试试
parameterType 这个 填args
Class[] args = new Class[]{Object.class};

原创粉丝点击