我有一个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是每个客户的帐户对象列表。
答案 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。