日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BeanUtils与PropertyUtils的copyProperties方法的差别

發布時間:2024/8/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BeanUtils与PropertyUtils的copyProperties方法的差别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. copyProperties

? ? ? ? org.apache.commons.beanutils包中有兩個工具類,BeanUtils與PropertyUtils,這兩個工具類中各自有一個copyProperties(Object? dest, Object orig)方法,這兩個方法可以將兩個對象當中相同的屬性的值由源對象賦值至目標對象中。用到這個類的場景一般是由前臺傳到后臺的一個包裝類,將這個包裝類的值copy到一個實體對象中,由這個實體對象寫入數據庫表,可以省去多行get與set方法。

?

2. BeanUtils與PropertyUtils的copyProperties方法的差別

? ? ? ?這兩個工具類當中的copyProperties方法的方法名、參數,都一樣,所使用到的場景也類似,它們之間的差別在于源對象中int、值為null的時候。以下用代碼說明,有一個User類,及一個繼承自該類的UserVO,這要做的事,是將User當中的屬性copy到UserVO當中。

?

3. 測試代碼

3.1 實體類

? ? ? ? 下面有兩個實體類,其中一個實體類繼承自另一個實體類,測試代碼要做的事情就是將父類屬性的值賦到子類當中(由于篇幅原因,省去get、set與toString方法)。

import java.util.Date;public class User {private Long id;private String name;private Integer sex;private Double age;private Date birthDay; } public class UserVO extends User{private String address;public String getAddress() {return address;}public void setAddress(String address) {this.address = address;} }

3.2?測試方法

? ? ? ? 對于非null值的屬性,兩個工具類中的方法得到的結果是一樣的,那么直接用null值來進行測試,測試方法如下:

import java.lang.reflect.InvocationTargetException;import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.PropertyUtils;public class Test01 {public static void main(String[] args) {// 原對象User sourceUser = new User();sourceUser.setId(null);sourceUser.setName(null);sourceUser.setAge(null);sourceUser.setSex(null);sourceUser.setBirthDay(null);// 目標對象UserVO destUser = new UserVO();// 測試BeanUtiltestBeanUtil(destUser, sourceUser);// 測試PropertyUtiltestPropertyUtil(destUser, sourceUser);}private static void testBeanUtil(User destUser, User sourceUser) {try {BeanUtils.copyProperties(destUser, sourceUser);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}System.out.println("BeanUtils result:" + destUser);}private static void testPropertyUtil(User destUser, User sourceUser) {try {PropertyUtils.copyProperties(destUser, sourceUser);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();} catch (NoSuchMethodException e) {e.printStackTrace();}System.out.println("PropertyUtils result:" + destUser);} }

3.3?輸出結果

BeanUtils result:User [id=0, name=null, sex=0, age=0.0, birthDay=null, address=null] PropertyUtils result:User [id=null, name=null, sex=null, age=null, birthDay=null, address=null]

? ? ? ? 由打印的結果可以看到,Long類型、Integer類型、Double類型的值如果為空,調用BeanUtils的copyProperties方法地到的結果會將這些類型的值賦為0或者0.0,而使用PropertyUtils的copyProperties方法源對象與目標對象的值是一樣的。

?

4. 結論

? ? ? ? 使用org.apache.commons.beanutils.BeanUtils的copyProperties方法得到的結果會將為null的Integer、Long、Double類型的屬性賦值為0或者0.0,但對于String、Date等類則不會有這種結果(null依然為null),而使用org.apache.commons.beanutils.BeanUtils的copyProperties方法得到的結果不會給null值賦初始值(null依然為null)。所以在實際的開發中碰到類似的業務場景需要正確選用合適的工具類。

總結

以上是生活随笔為你收集整理的BeanUtils与PropertyUtils的copyProperties方法的差别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品久久中文字幕 | 精品国产乱码久久久久久婷婷 | 国精产品一区一区三区免费视频 | 香蕉91视频 | 成人免费视频观看 | 精品一区二区久久久久久按摩 | 奇米影视首页 | 日韩中文字幕 | 91激情| 日本国产一区二区三区 | 午夜私人影院 | 五月婷婷爱 | 成人在线影片 | 中文字幕在线视频精品 | 色综合久久中文字幕无码 | 麻豆精品免费视频 | 天堂网在线播放 | 成人黄色大片 | 国产精品久久久无码一区 | 亚洲操| 中文字幕一区二区久久人妻网站 | 最好看的2019年中文视频 | 欧美网站免费 | 美女露隐私网站 | 国产成人av一区二区三区 | 铠甲勇士猎铠 | 青青草视频在线观看 | 91精品国产电影 | 亚洲熟妇无码另类久久久 | 大肉大捧一进一出好爽mba | 在线观看中出 | 美女光屁屁露胸胸 | 国产精品久久久久av | 日韩精品在线观看一区 | 日本三级片在线观看 | 三级福利 | 538国产精品视频一区二区 | av五月| 精品国产乱码久久久久久蜜臀 | 一区二区三区高清 | 91插插插视频 | 欧美xxxx黑人| 丝袜人妻一区二区 | 午夜精品久久久久久久蜜桃 | 久久久久亚洲av片无码下载蜜桃 | 污污污www精品国产网站 | 国产寡妇亲子伦一区二区三区四区 | 免费看黄色三级 | 中文字幕23 | 99久久国| 精品无码人妻少妇久久久久久 | 国产福利一区二区三区视频 | 手机在线看a | 国产电影免费观看高清完整版视频 | 涩涩屋视频| 欧美日韩一卡二卡 | 国产精品98 | 国产又粗又爽视频 | 三级自拍视频 | 欧美成人午夜77777 | 丁香婷婷六月 | 久草视频精品 | 久久9久久 | 天天人人精品 | 亚洲第五页 | 黑人操白妞 | 奇米狠狠去啦 | 国产男女猛烈无遮挡免费视频 | 中文精品一区 | 欧美日韩xxxx | 开心激情综合网 | 成人综合社区 | 久久精品国产亚洲AV无码男同 | 国产原创视频在线 | 日韩成人一区二区三区 | 日韩人妻精品在线 | 麻豆av一区二区三区在线观看 | 国产性猛交╳xxx乱大交一区 | 久久久夜色| 无码 制服 丝袜 国产 另类 | 青青视频一区二区 | 国产精品v亚洲精品v日韩精品 | 久久久久久午夜 | 成人免费视频软件网站 | 五月婷婷综合在线观看 | 欧美肥老妇 | 三级亚洲欧美 | 国产馆在线观看 | a级一级黄色片 | 精品热久久 | 欧美一区二区最爽乱淫视频免费看 | 啪啪网站免费 | 亚洲一区二区蜜桃 | 中文字幕资源站 | 国产一区二区三区91 | www.欧美com| 亚洲五月天综合 | av新天堂 | 伊人久久天堂 |