Java如何將任意類型的Object對象轉(zhuǎn)換為相應(yīng)的實(shí)體對象
將任意類型的Object對象轉(zhuǎn)換為相應(yīng)的實(shí)體對象
通過com.fastxml.jackson的ObjectMapper對象進(jìn)行轉(zhuǎn)換:
ObjectMapper objectMapper = new ObjectMapper(); objectMapper.convertValue(Object fromValue, Class<T> toValueType);
Java轉(zhuǎn)換對象方式
1. BeanUtils.copyProperties(source,target,target.class);
// BeanUtils導(dǎo)包如下 import org.springframework.beans.BeanUtils;

可以看到該包下所有方法都是void類型,無返回值
因此需要我們提前創(chuàng)建一個實(shí)例對象去接受目標(biāo)對象(轉(zhuǎn)換后的對象)
UserDTO targetUser = new UserDTO();
BeanUtils.copyProperties(selectUser,targetUser,UserDTO.class);
System.out.println("UserDTO:"+targetUser);2. BeanUtil.copyProperties(source,target.class);
該方法導(dǎo)包為
cn.hutool.core.bean.BeanUtil;

可以看到該實(shí)現(xiàn)方法大部分仍然是void類型,但與BeanUtils不同。
存在一個具有泛型的返回類型方法,因此可以無需提前創(chuàng)建 轉(zhuǎn)換的實(shí)例對象。
補(bǔ)充:
當(dāng)使用源對象為Object 類型時(例如從JSON字符串轉(zhuǎn)換成對象類型的數(shù)據(jù)),應(yīng)該使用第二種方法。
若使用第一種方式時,由于Object類型內(nèi)不含任何屬性/getter和setter方法,因此,在轉(zhuǎn)換過程中,無法正常從Object對象獲取數(shù)據(jù),只能獲取到null。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Springboot的擴(kuò)展點(diǎn)DisposableBean的原理解析
這篇文章主要介紹了關(guān)于Springboot的擴(kuò)展點(diǎn)DisposableBean的原理解析,DisposableBean是一個接口,為Spring bean提供了一種釋放資源的方式 ,只有一個擴(kuò)展方法destroy(),需要的朋友可以參考下2023-05-05
關(guān)于SpringBoot配置文件加載位置的優(yōu)先級
這篇文章主要介紹了關(guān)于SpringBoot配置文件加載位置的優(yōu)先級,我們也可以通過spring.config.location來改變默認(rèn)的配置文件位置,項(xiàng)目打包好后,我們可以通過命令行的方式在啟動時指定配置文件的位置,需要的朋友可以參考下2023-10-10
使用JavaConfig代替xml實(shí)現(xiàn)Spring配置操作
這篇文章主要介紹了使用JavaConfig代替xml實(shí)現(xiàn)Spring配置操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
Java NIO Path接口和Files類配合操作文件的實(shí)例
下面小編就為大家分享一篇Java NIO Path接口和Files類配合操作文件的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11
SpringBoot?項(xiàng)目瘦身maven/gradle詳解
這篇文章主要介紹了SpringBoot項(xiàng)目瘦身(maven/gradle),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01
深入理解Java @Entity注解及其與數(shù)據(jù)庫表的關(guān)聯(lián)
這篇文章主要介紹了深入理解Java @Entity注解及其與數(shù)據(jù)庫表的關(guān)聯(lián),@Entity注解在JPA中占據(jù)核心地位,它建立起Java實(shí)體類和數(shù)據(jù)庫表之間的映射關(guān)系,需要的朋友可以參考下2025-05-05

