0

我有一个 foreach 循环遍历每个首选客户并总结他们的余额以创建他们的总资产。但是,每次查看客户对象时,都会将其评估为 null。PreferredCustomer 是抽象类 Customer 的子类。我假设我没有正确执行 foreach 循环,但我不确定我做错了什么。

 public static void getBalance() {
    for(Customer customer: preferredCustomers){
        ArrayList<Account> al = customer.getAccountList();
        for(Account account: al){
            totalAssets+=account.getBalance();
            //balance = account.getbalance();
        }
        customer.setBalance(totalAssets);
    }
}

此外,Arraylist AccountList 是每个客户的帐户对象列表。

4

1 回答 1

1

将来,如果您的代码抛出 NPE,您应该在帖子中包含异常,并带有指向与您的示例代码对应的行的指针:

  • 如果您在for(Customer循环中抛出 NPE,那么您的preferredCustomers字段是null.
  • 如果它customer.getAccountList()在线上抛出 NPE,则集合中的元素之一preferredCustomersnull.
  • for(Account account如果它在循环中引发 NPE,那么您的其中一个preferredCustomers有一个帐户列表,即null.
  • 如果它totalAssets+=account.getBalance();在线上抛出 NPE,则列表中的一个帐户是null。也可能是 balance 字段是一个null Long对象。

正如@ColinD 提到的,建议学习如何在 Eclipse中使用调试器。

于 2012-10-04T21:14:30.193 回答