以下代码在Java中返回NullPointerException。任何人都可以澄清我的错误吗?
public void deposit2()
{
BankAccounts[] accounts2 = new BankAccounts[10];
accounts2[3].deposit();
}
答案 0 :(得分:10)
BankAccounts[] accounts2 = new BankAccounts[10];
与
相同BankAccounts[] accounts2 = {null, null, null, ... null }; // (10 times)
在尝试取消引用它们之前,您需要为accounts2
(或至少是元素3)的元素赋值。
答案 1 :(得分:3)
只需在代码中声明它,然后使用for循环将对象引用分配给所有索引。
例如:
public void deposit2()
{
BankAccounts[] accounts2 = new BankAccounts[10];
for(int i=0;i<10;i++)
{
accounts2[i] = new BankAccounts();
}
accounts2[3].deposite();
}
答案 2 :(得分:0)
BankAccounts[] accounts2 = new BankAccounts[10];
创建一个对象,即一个包含10个引用的银行账户数组,可以指向10个BankAccount对象,它们被初始化为null,您需要创建实际的银行对象,试试这个
BankAccounts[] accounts2 = new BankAccounts[10];
for(BankAccounts b:accounts2)//for each loop
{
b=new BankAccounts();
}