在遍历集合 accounts.get(i);错误提示,但是程序可以跑,是什么问题?

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
 public static Account getAccountByCardId(String cardId , ArrayList<Account> accounts){
        for (int i = 0; i < accounts.size(); i++) {
            Account acc = accounts.get(i);
            if(acc.getCardId().equals(cardId)){
                return acc;
            }
        }
        return null;
    }

代码看不出问题,acc里面的cardId会不会有为null的情况,发错误信息出来看看。

提示的意思是分开声明和赋值。
试试这种:

 public static Account getAccountByCardId(String cardId , ArrayList<Account> accounts){
        Account acc=null;
        for (int i = 0; i < accounts.size(); i++) {
            acc = accounts.get(i);
            if(acc.getCardId().equals(cardId)){
                return acc;
            }
        }
        return null;
    }

报错信息是啥

改成如下代码试试:

 public static Account getAccountByCardId(String cardId , ArrayList<Account> accounts){
        Account acc = null;
        for (int i = 0; i < accounts.size(); i++) {
            acc = accounts.get(i);
            if(acc.getCardId().equals(cardId)){
                return acc;
            }
        }
        return acc;
    }

ArrayList换成List试试

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632