Java中数组的空指针异常

时间:2015-06-29 16:20:29

标签: java nullpointerexception

以下代码在Java中返回NullPointerException。任何人都可以澄清我的错误吗?

public void deposit2()
{
    BankAccounts[] accounts2 = new BankAccounts[10];
    accounts2[3].deposit();
}

3 个答案:

答案 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();
}