java 根据 对象 属性名称 获取/设置属性值
一、根据属性名设置属性值
public static void setFieldValueByName(Object obj, String fieldName, Object value){ try { // 获取obj类的字节文件对象 Class c = obj.getClass(); // 获取该类的成员变量 Field f = c.getDeclaredField(fieldName); // 取消语言访问检查 f.setAccessible(true); // 给变量赋值 f.set(obj, value); } catch (Exception e) { logger.info(e.getMessage()); } }
二、根据属性名获取属性值
/** * 根据属性名获取属性值 * */ private Object getFieldValueByName(String fieldName, Object o) { try { String firstLetter = fieldName.substring(0, 1).toUpperCase(); String getter = "get" + firstLetter + fieldName.substring(1); Method method = o.getClass().getMethod(getter, new Class[] {}); Object value = method.invoke(o, new Object[] {}); return value; } catch (Exception e) { log.error(e.getMessage(),e); return null; } }
让每一天过的有意义!
标签:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!