数组遍历for each循环代码块未执行

数组遍历for each循环代码块未执行,第1张

数组遍历for each循环代码块未执行
1. 源代码块
 @Override
    public int saveModel(String CraneModel, String UserId) {
        List<ModelaSelection> modelaSelections = queryAll(UserId);
        ModelaSelection modelaSelection = new ModelaSelection();
        modelaSelection.setUserId(UserId);
        modelaSelection.setCraneModel(CraneModel);
        //不同时
        for (ModelaSelection selection : modelaSelections) {
            if (!selection.getCraneModel().equals(CraneModel)){
                return modelaSelectionMapper.insert(modelaSelection);
            }
        }
        return 0;
    }
2.数据库表结构

数据库中 Crane_model字段与UserId字段为主键,上面代码块的含义为对输入的CraneModel进行判断,如果这个用户之前没有参数传入的Crane_model,那么就会执行插入 *** 作,可见数据库中这个表为空.

3.执行结果

4.出现BUG

5.解决方法
 @Override
    public int saveModel(String CraneModel, String UserId) {
        List<ModelaSelection> modelaSelections = queryAll(UserId);
        ModelaSelection modelaSelection = new ModelaSelection();
        modelaSelection.setUserId(UserId);
        modelaSelection.setCraneModel(CraneModel);
        //数组为空时
        if (modelaSelections.size()==0)
        {
            return modelaSelectionMapper.insert(modelaSelection);
        }
        //不同时
        for (ModelaSelection selection : modelaSelections) {
            if (!selection.getCraneModel().equals(CraneModel)){
                return modelaSelectionMapper.insert(modelaSelection);
            }
        }
        return 0;
    }

这里我做了一次数组为空的判断问题就解决了,总结就是如果数组为空时for循环代码块不会执行,得在循环之前家一次判断

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/2989938.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-09-23
下一篇2022-09-23

发表评论

登录后才能评论

评论列表(0条)

    保存