当前位置:   article > 正文

对象拷贝工具类(fastjson)_fastjson copy

fastjson copy

开发中,都会遇到对象拷贝的需求,本工具类支持嵌套对象的拷贝

依赖

  1. <dependency>
  2. <groupId>com.alibaba</groupId>
  3. <artifactId>fastjson</artifactId>
  4. <version>1.2.79</version>
  5. </dependency>
  1. package com.example.demo.utils;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import java.util.List;
  6. import java.util.Objects;
  7. public class BeanUtils {
  8. /**
  9. * 批量拷贝
  10. *
  11. * @param list 拷贝集合
  12. * @param clazz 拷贝之后的类型
  13. * @return 拷贝之后的列表
  14. */
  15. public static <T> List<T> copyProperties(List<?> list, Class<T> clazz) {
  16. if (Objects.isNull(list)) {
  17. return null;
  18. }
  19. JSONArray jsonArray = (JSONArray) JSON.toJSON(list);
  20. return jsonArray.toJavaList(clazz);
  21. }
  22. /**
  23. * 单个拷贝
  24. *
  25. * @param o 拷贝对象
  26. * @param clazz 拷贝之后的类型
  27. * @return 拷贝之后的对象
  28. */
  29. public static <T, O> T copyProperties(O obj, Class<T> clazz) {
  30. if (Objects.isNull(obj)) {
  31. return null;
  32. }
  33. JSONObject jsonObject = (JSONObject) JSON.toJSON(obj);
  34. return jsonObject.toJavaObject(clazz);
  35. }
  36. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/68589?site
推荐阅读
相关标签
  

闽ICP备14008679号