Java如何将任意类型的Object对象转换为相应的实体对象
将任意类型的Object对象转换为相应的实体对象
通过com.fastxml.jackson的ObjectMapper对象进行转换:
ObjectMapper objectMapper = new ObjectMapper(); objectMapper.convertValue(Object fromValue, Class<T> toValueType);
Java转换对象方式
1. BeanUtils.copyProperties(source,target,target.class);
// BeanUtils导包如下 import org.springframework.beans.BeanUtils;

可以看到该包下所有方法都是void类型,无返回值
因此需要我们提前创建一个实例对象去接受目标对象(转换后的对象)
UserDTO targetUser = new UserDTO();
BeanUtils.copyProperties(selectUser,targetUser,UserDTO.class);
System.out.println("UserDTO:"+targetUser);2. BeanUtil.copyProperties(source,target.class);
该方法导包为
cn.hutool.core.bean.BeanUtil;

可以看到该实现方法大部分仍然是void类型,但与BeanUtils不同。
存在一个具有泛型的返回类型方法,因此可以无需提前创建 转换的实例对象。
补充:
当使用源对象为Object 类型时(例如从JSON字符串转换成对象类型的数据),应该使用第二种方法。
若使用第一种方式时,由于Object类型内不含任何属性/getter和setter方法,因此,在转换过程中,无法正常从Object对象获取数据,只能获取到null。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
sentinel整合ribbon与fallback流程分步讲解
这篇文章主要介绍了sentinel整合ribbon与fallback分步流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-08-08
java多线程中的volatile和synchronized用法分析
这篇文章主要介绍了java多线程中的volatile和synchronized用法分析,以实例的形式分析了在多线程中volatile和synchronized的用法区别与使用原理,具有一定的参考借鉴价值,需要的朋友可以参考下2014-12-12
Spring Boot 3.x 集成 Eureka Server/Cl
随着SpringBoot 3.x版本的开发尝试,本文记录了在集成Eureka Server/Client时所遇到的问题和解决方案,文中详细介绍了搭建服务、配置文件和测试步骤,感兴趣的朋友跟随小编一起看看吧2024-09-09


最新评论