利用反射得到属性的值

xiaoxiao2021-02-28  65

利用反射得到属性的值

第一种,通用类型,得到的返回类型都是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};

转载请注明原文地址: https://www.6miu.com/read-78747.html

最新回复(0)