Java如何将任意类型的Object对象转换为相应的实体对象

 更新时间:2024年01月23日 15:48:32   作者:走马川行雪  
这篇文章主要介绍了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。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论