使用反射赋值。
Class clazz = object.getClass();
Method method = clazz.getDeclaredMethod("setLastUpdateDate", Date.class);
method.invoke(object, new Date());
如:
import java.lang.reflect.Method; import java.util.Date; import javax.servlet.http.HttpSession; /** * 该类用来对系统中业务实体中的保留字段进行维护 * 提供公用的方法签名 * */ public class ObjectUtil { /** * 设置创建人的一些属性值,不需要更新创建日期 * @param object */ @SuppressWarnings("unchecked") public static void setUpdatedBy(Object object) { @SuppressWarnings("rawtypes") Class clazz = object.getClass(); HttpSession httpSession = GlobalSession.getHttpSession(); try { SysUser dbCheckUser = (SysUser) httpSession.getAttribute(SessionKeys.SESSION_SYS_USER); Long userId = dbCheckUser.getId(); Method setLastUpdateBy = clazz.getDeclaredMethod("setLastUpdateBy", Long.class); Method setLastUpdateDate = clazz.getDeclaredMethod("setLastUpdateDate", Date.class); setLastUpdateBy.invoke(object, userId); setLastUpdateDate.invoke(object, new Date()); } catch (Exception ex) { ex.printStackTrace(); } } /** * 方法名称:setCreatedBy * 功能描述: * 设置创建人的一些属性值 * @param object */ @SuppressWarnings("unchecked") public static void setCreatedBy(Object object) { // 获得类对象 @SuppressWarnings("rawtypes") Class clazz = object.getClass(); HttpSession httpSession = GlobalSession.getHttpSession(); try { SysUser dbCheckUser = (SysUser) httpSession.getAttribute(SessionKeys.SESSION_SYS_USER); Long userId = dbCheckUser.getId(); Method setCreatedBy = clazz.getDeclaredMethod("setCreatedBy", Long.class); Method setLastUpdateBy = clazz.getDeclaredMethod("setLastUpdateBy", Long.class); Method setCreatedDate = clazz.getDeclaredMethod("setCreatedDate", Date.class); Method setLastUpdateDate = clazz.getDeclaredMethod("setLastUpdateDate", Date.class); Method setEnabledFlag = clazz.getDeclaredMethod("setEnabledFlag", String.class); setCreatedBy.invoke(object, userId); setLastUpdateBy.invoke(object, userId); setCreatedDate.invoke(object, new Date()); setLastUpdateDate.invoke(object, new Date()); setEnabledFlag.invoke(object, Constants.ENABLED_FLAG_Y); } catch (Exception ex) { ex.printStackTrace(); } } }
或:
/** * * 设置target对象中名为fieldName的属性值为value * * @param target * @param fieldName * @param value * * @return target对象 * */ public static Object setValueToField(Object target, String fieldName, Object value){ Field[] fs = target.getClass().getDeclaredFields(); for(Field f : fs){ if(f.getName().equalsIgnoreCase(fieldName)){ try { f.setAccessible(true); f.set(target, value); } catch (Exception e) { logger.error("\u8bbe\u7f6e\u503c\u51fa\u9519\uff0c\u8bf7\u68c0\u67e5 [target : " + target.getClass() + "][field : " + f.getName() + "][value : " + value.getClass() + "]"); e.printStackTrace(); } break; } } return target; }
。。
相关推荐
"java-Common-Tools.rar"这个压缩包显然包含了一些Java开发者常用的工具类,如`ObjectUtil`和一些其他的`comm`包中的类。让我们深入了解一下这些关键知识点。 首先,`ObjectUtil`通常是一个针对`java.lang.Object`...
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
通过`singleton()`方法和`C()`函数,我们可以便捷地获取并使用类的单例,提高代码的效率和可维护性。在实际开发中,理解并熟练运用`ObjectUtil`组件,能更好地利用LotusPhp框架的优势,编写出高质量的PHP应用。
这个库的核心功能之一是`ObjectUtil`类,它具有强大的对象深度转换能力,通过`ObjectUtil.to`方法实现。 `ObjectUtil`类是Agile框架中用于处理和操作Java对象的工具类,它的设计灵感来自于实际开发中的常见需求,如...
在实际编程中,熟练掌握这些工具类的使用,不仅可以提高代码的可读性和可维护性,还能提升开发效率。通过合理利用`StringUtil`、`FileUtil`、`MD5Util`、`JsonUtil`和`ObjectUtil`,开发者可以更加专注于业务逻辑,...
动态拼接sql语句工具类,拼接where后面语句 配合原生jdbc仿动态sql注入 if (ObjectUtil.isNotEmpty(maxLat)&&ObjectUtil.isNotEmpty(minLat)){ sqlParamList.add(new SqlParam("lat",minLat, SqlOpEnum.GE)); ...
依赖与ApacheCommon的Java通用工具工程类概览: ArrayUtil -----> ArrayUtil通用工具类...数值通用工具类ObjectUtil ----->对象通用工具类PropertiesLoader ----->配置文件加载读取通用工具类ReflectionUti
如果对象包含的数据字段需要进行值比较,如字符串、数字或自定义类的实例,那么重写`equals`是必要的,以确保基于对象内容的相等性判断。 ### Q2. 如何正确重写`equals`方法? 重写`equals`方法时,应遵循以下通用...
16进制工具(HexUtil)、Escape工具(EscapeUtil)、Hash算法(HashUtil)、URL工具(URLUtil)、XML工具(XmlUtil)和对象工具(ObjectUtil)都提供了对应处理功能的工具类。 反射工具(ReflectUtil)、泛型类型...
- 对象操作工具类,如`Aleppo.ObjectUtil`,可能包含深拷贝、浅拷贝、合并对象、遍历对象属性等功能。此外,可能还有`Aleppo.JSONUtil`,用于快速解析和序列化JSON数据。 7. **正则表达式**: - 正则表达式在文本...
在编写CSV导出功能时,你可能会用到`mx.utils.ObjectUtil`类来帮助对象转字符串,或者自定义方法来处理复杂的转换需求。 8. **错误处理**:确保在处理过程中添加适当的错误处理,例如检查数据是否为空,字段值是否...
通过序列化工具类 `ObjectUtil` 和 Redis 工具类 `JedisUtil`,我们不仅能够高效地管理 Redis 连接,还能方便地在 Redis 中存储和检索复杂的数据结构。对于需要处理大量异步消息的应用程序而言,这是一个非常实用的...
- 使用`@RestController`注解标记控制器类,`@RequestMapping`和`@GetMapping`等注解用于定义路由。 3. **数据库集成**: - SpringBoot支持多种数据库,如MySQL、PostgreSQL等,通过`spring-boot-starter-data-...
`DateFormatter`是Flex提供的一个类,用于将日期对象格式化为字符串。在MXML代码中,你可以通过以下方式声明一个`DateFormatter`实例: ```xml ``` `id`属性是该组件的唯一标识符,`formatString`属性则定义了...
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。