将list中的对象转换为另一个类型的对象

这篇博客介绍了在代码中如何将对象列表转换为另一种自定义类型的列表,同时保持原有数据不变且不影响其他代码。通过将对象转为JSON字符串,然后解析成目标类型,实现了对象之间的类型转换。具体步骤包括:首先判断证据ID是否为空,然后查询证据列表,接着将证据对象列表转换为EvidenceVo对象列表,并设置证据路径。同样方法处理其他附件材料。此外,还展示了如何将单个对象转换为指定类的实例。
摘要由CSDN通过智能技术生成

1、问题描述

今天写代码发现别人现成的方法返回的是user对象,但是我需要是userVo对象,这就需要将list里面的对象转换,不做任何改变,对别人代码没有影响,有方法,特此记录方便使用。

2、上代码

  //答复通知书
            if (StringUtils.isNotEmpty(a.getEvidenceId())) {
                List<Evidence> evidenceList = evidenceMapper.selectByIdList(Arrays.asList(a.getEvidenceId().split(CommonConstants.SPLIT_COMMON)));
                if (CollectionUtils.isNotEmpty(evidenceList)) {
                    List<EvidenceVo> evidenceVoList = JSONObject.parseArray(JSONObject.toJSONString(evidenceList), EvidenceVo.class);
                    evidenceVoList.forEach(evidenceVo -> evidenceVo.setEvidencePath(fdfsUtil.getDownLoadUrl() + evidenceVo.getEvidencePath()));
                    noticeReplyVo.setEvidenceList(evidenceVoList);
                }
            }

            //其他附件材料
            if (StringUtils.isNotEmpty(a.getOtherEvidenceId())) {
                List<Evidence> evidenceList = evidenceMapper.selectByIdList(Arrays.asList(a.getOtherEvidenceId().split(CommonConstants.SPLIT_COMMON)));
                if (CollectionUtils.isNotEmpty(evidenceList)) {
                    List<EvidenceVo> evidenceVoList = JSONObject.parseArray(JSONObject.toJSONString(evidenceList), EvidenceVo.class);
                    evidenceVoList.forEach(evidenceVo -> evidenceVo.setEvidencePath(fdfsUtil.getDownLoadUrl() + evidenceVo.getEvidencePath()));
                    noticeReplyVo.setOtherEvidenceList(evidenceVoList);
                }
            }

把数据转为json格式就可以进行各种转换:

1、对象转换

JSONObject messageJo = messageList.getJSONObject(i);
Message message = JSON.toJavaObject(messageJo, Message.class);

2、集合转换

 List<EvidenceVo> evidenceVoList = JSONObject.parseArray(JSONObject.toJSONString(evidenceList), EvidenceVo.class);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bst@微胖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值