BeanUtils.copyProperties()使用详解+在不同包的区别
一. 兩個包下的BeanUtils.copyProperties對比
BeanUtils是開發(fā)中常用到的工具類。
而獲取這一工具類常用的方法有兩種
- org.springframework.beans.BeanUtils
- org.apache.commons.beanutils.BeanUtils
以上兩個包皆可獲取
不同的包中BeanUtils的方法使用是不一樣的,接下來就對這兩個包中的copyProperties方法進行對比。
先來看一下這兩個包中的,通過copyProperties方法的定義:
//org.springframework.beans.BeanUtils public static void copyProperties(Object source, Object target){....}//org.apache.commons.beanutils.BeanUtils public static void copyProperties(Object dest,Object orig){....}可見,在org.springframework.beans.BeanUtils包下的copyProperties第一個參數(shù)是被copy的對象,而org.apache.commons.beanutils.BeanUtils中正好相反,不要弄混。
?
二. 作用和區(qū)別
1、兩種包引入的方法都是淺拷貝。 關于深淺拷貝的解析:https://blog.csdn.net/weixin_43899069/article/details/121338043
2、使用org.apache.commons.beanutils.BeanUtils進行copy對象時,被copy的對象(source/orig)中包含的字段目標對象(target/dest)必須包含,可以有其他的多于字段,類型可以不相同,但字段名稱必須一致;org.springframework.beans.BeanUtils中的沒有這個限制。
簡而言之,二者區(qū)別不大,但org.springframework.beans.BeanUtils更吊一些。
總結
以上是生活随笔為你收集整理的BeanUtils.copyProperties()使用详解+在不同包的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这或许是讲解Knuth(Shuffle)
- 下一篇: 【解题报告】Leecode 423. 从