由于某种原因,我的客户对象为空。

时间:2012-10-04 20:21:04

标签: java foreach abstract-class

我有一个foreach循环,遍历每个首选客户并总结其余额以创建其总资产。但是,每次查看customer对象时,它都会将其计算为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是每个客户的帐户对象列表。

1 个答案:

答案 0 :(得分:1)

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

  • 如果您在for(Customer循环中投放NPE,则preferredCustomers字段为null
  • 如果它在customer.getAccountList()行上投放NPE,则preferredCustomers集合中的一个元素为null
  • 如果它在for(Account account循环中抛出NPE,则您的preferredCustomers之一的帐户列表为null
  • 如果它在totalAssets+=account.getBalance();行上投放了一个NPE,则列表中的一个帐户为null。也可能是余额字段是null Long对象。

正如@ColinD所提到的,建议学习how to use a debugger in Eclipse