/*** 为指定对象的指定属性动态赋予指定值** @param obj 指定对象* @param fieldName 指定属性* @param value 指定值* @return obj 返回对象*/public static Object dynamicSetValue(Object obj, String fieldName, Object value) {try {// 取属性首字母转大写String firstLetter = fieldName.substring(0, 1).toUpperCase();// set方法名String setMethodName = "set" + firstLetter + fieldName.substring(1);// 获取属性Field field = Class().getDeclaredField(fieldName);// 获取set方法Method setMethod = Class().getDeclaredMethod(setMethodName, Type());// 通过set方法动态赋值setMethod.invoke(obj, value);} catch (Exception e) {e.printStackTrace();}return obj;}/*** 动态获取指定对象指定属性的值** @param obj 指定对象* @param fieldName 指定属性* @return 属性值*/public static Object dynamicGetValue(Object obj, String fieldName) {try {// 取属性首字母转大写String firstLetter = fieldName.substring(0, 1).toUpperCase();// get方法名String getMethodName = "get" + firstLetter + fieldName.substring(1);// 获取get方法Method getMethod = Class().getDeclaredMethod(getMethodName);// 动态取值return getMethod.invoke(obj);} catch (Exception e) {e.printStackTrace();return null;}}
本文发布于:2024-02-02 15:43:34,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170685981744789.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |