使用java映射根据属性名得到set和get方法

it2024-11-24  34

import java.lang.reflect.Method; /** * 根据属性,获取get方法 * @param ob 对象 * @param name 属性名 * @return * @throws Exception */ public static Object getGetMethod(Object ob , String name)throws Exception{ Method[] m = ob.getClass().getMethods(); for(int i = 0;i < m.length;i++){ if(("get"+name).toLowerCase().equals(m[i].getName().toLowerCase())){ return m[i].invoke(ob); } } return null; }

示例使用

User user = new User(); user.setName("李商隐"); user.setSex("女"); Object obj = getGetMethod(user ,"name"); System.out.println(obj + "");

得到结果,李商隐

更简单的映射,set和get方法

//set方法 User user = new User(); Field field = user.getClass().getDeclaredField("name"); field.setAccessible(true); field.set(user, "李商隐"); //get方法 Field f = user.getClass().getDeclaredField("name"); f.setAccessible(true); f.get(user);
最新回复(0)