当我们在java中 知道某些属性的名称,如何从 pojo类中获得该属性的值 ,可以使用java反射机制动态获得该属性的值
比如 某个类中有属性 name 当你知道该属性 而 却不能用 Class.name 类名.属性名获得该值时,(因为 name 为私有属性)
这时候就可以用java反射机制动态地获得该属性的值,我们参考以下代码示例。
该方法传入参数 为 属性名称、目标pojo类、返回值为pojo类中对应name的属性的值
/
* 使用反射机制动态调用dto的get方法根据参数 属性名 如 name 调用dto的 getName方法 并获得返回值
* @param dto
* @param name
* @return
* @throws Exception
*/
public Object getValue(Object dto,String name) throws Exception{
Method[] m = dto.getClass().getMethods();
for(inti=0;i<m.length;i++){
if(("get"+name).toLowerCase().equals(m[i].getName().toLowerCase())){
return m[i].invoke(dto);
}
}
导入包 import java.lang.reflect.Method;
那么该方法的调用方法参考如下:
按目标数组集合中包含的属性名