实体类之间的相互转换

逃离我推掉我的手 2022-10-13 15:47 325阅读 0赞
  1. public static <A, B> B beanA2beanB(A beanA, Class<B> bClass, String... ignoreProperties) {
  2. try {
  3. B b = bClass.newInstance();
  4. cn.hutool.core.bean.BeanUtil.copyProperties(
  5. beanA,
  6. b,
  7. CopyOptions.create().setIgnoreProperties(ignoreProperties).ignoreError().ignoreNullValue()
  8. );
  9. return b;
  10. } catch (Exception e) {
  11. e.printStackTrace();
  12. }
  13. return (B) new Object();
  14. }
  15. /** * 可实现由 BeanA List 转换为 BeanB List<br> * tip1: 转换的规则是 实体内属性一致的进行转换<br> * tip2: 转换会忽略 Null 和错误 * * @param listA A 实体 * @param bClass B 类 * @param ignoreProperties 要忽略转换的字段 数组类型<br> * 由该属性可解决同一个Vo 在不同需求中要返回的实体不一致问题 列入UserListVO 在后台和前台使用的列表是同一个,但是返回的字段不一致 * @param <A> 泛型A * @param <B> 泛型 * @return 转换后的BList实体 */
  16. public static <A, B> List<B> listA2ListB(Collection<A> listA, Class<B> bClass, String... ignoreProperties) {
  17. List<B> listB = new ArrayList<>();
  18. if (ObjectUtils.isEmpty(listA)) {
  19. return listB;
  20. }
  21. try {
  22. for (A a : listA) {
  23. listB.add(beanA2beanB(a, bClass, ignoreProperties));
  24. }
  25. } catch (Exception e) {
  26. e.printStackTrace();
  27. }
  28. return listB;
  29. }

发表评论

表情:
评论列表 (有 0 条评论,325人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C#实体与XML相互转换

    1、实体类与XML相互转换 将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化。 把XML转换成相应的实体类,需要使用到Xml