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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java实体类间的转换_java 实体类集合转换和实体类转换

發布時間:2024/3/26 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实体类间的转换_java 实体类集合转换和实体类转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.首先要先創建一個函數式接口接口(@FunctionalInterface),回調方法

@FunctionalInterface

public interface BeanCopyUtilCallBack {

/**

* 定義默認回調方法

* @param t

* @param s

*/

void callBack(S t, T s);

}

2.下面開始創建一個類并繼承BeanUtils工具類,并編寫三個方法

/**

* List集合轉換

*/

public class BeanCopyUtil extends BeanUtils {

/**

* 集合數據的拷貝

* @param sources: 數據源類

* @param target: 目標類::new(eg: UserVO::new)

* @return

*/

public static List copyListProperties(List sources, Supplier target) {

return copyListProperties(sources, target, null);

}

/**

* 帶回調函數的集合數據的拷貝(可自定義字段拷貝規則)

* @param sources: 數據源類

* @param target: 目標類::new(eg: UserVO::new)

* @param callBack: 回調函數

* @return

*/

public static List copyListProperties(List sources, Supplier target, BeanCopyUtilCallBack callBack) {

List list = new ArrayList<>(sources.size());

for (S source : sources) {

T t = target.get();

copyProperties(source, t);

list.add(t);

if (callBack != null) {

// 回調

callBack.callBack(source, t);

}

}

return list;

}

/**

* 轉換實體類

* @param sources 數據源類

* @param target 目標類::new(eg: UserVO::new);

* @return

*/

public static T copyPropertiesSet(S sources, Supplier target) {

T t = target.get();

copyProperties(sources, t);

return t;

}

}

3.調用集合轉換方法

List user = new ArrayList<>();

//調用轉換集合

List users = BeanCopyUtil.copyListProperties(user,UserVos::new);

//調用轉換實體類

UserVo user1 =new UserVo();

UserVos users1 = BeanCopyUtil.copyPropertiesSet(user1,UserVos::new);

總結

以上是生活随笔為你收集整理的java实体类间的转换_java 实体类集合转换和实体类转换的全部內容,希望文章能夠幫你解決所遇到的問題。

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