修改报销单逻辑有点看不懂

修改报销单逻辑有点看不懂

for(ClaimVoucherItem old : olds){
        boolean isHave =false;
        for(ClaimVoucherItem item:items){
            if(item.getId()==old.getId()){
                isHave=true;
                break;
            }

这句中,items这个集合还没有写入,也就是他的claim_voucher_item中的id还没有被生成,这句中为何可以比较item.getId()和old.getId()??

可不可以换个逻辑,把老的item全部删除,新的重新加入,这样是不是简单一点

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好!

  1. items是指页面修改之后传递过来的报销单条目,如果不是新增的就是有id的(修改时有将报销单条目的id传递过去)。如果是新增的条目就没有id。如果没有id,只是id为null与old.getId()不相等,是可以比较的

  2. 把旧的删除,重新添加也是可以。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师