nullpointerexception对象数组

时间:2015-09-25 22:27:46

标签: arrays object nullpointerexception

我有以下测试类

extension String {
    var lettersOnly: String {
        return String(characters.filter{NSCharacterSet.letterCharacterSet().characterIsMember(String($0).utf16.first!)})
    }
}
// Removes all special characters and whitespaces

let str = "abc123$$$ ff"

let letters = str.lettersOnly   // "abcff"

BankAccountGroup:

public class Driver
{
    public static void main(String [] args)
        {
             BankAccount[] b1 = {new BankAccount(200), new BankAccount(300), new BankAccount(250), new BankAccount(300), new BankAccount(200)};
              BankAccountGroup bag = new BankAccountGroup(b1);                      

        }

这些只是整个代码的片段。我得到这两行的nullpointerexception: - bank [i] = b [i]; - BankAccountGroup bag = new BankAccountGroup(b1); 请帮忙

3 个答案:

答案 0 :(得分:1)

当您在BankAccountGroup类中声明bank []时,您似乎忘了给它一个长度。因此,当你在for循环中调用bank [i]时,i = 0之后的任何内容都可能会给你一个错误。

类似

main

答案 1 :(得分:1)

首先初始化你的数组(坏)。

或者从传递构造函数的值中指定它。

private BankAccount[] bank;
public BankAccountGroup(BankAccount []){
       bank = b;
}

答案 2 :(得分:0)

您没有初始化银行阵列。您也不应该假设参数的长度为5个元素。我会把这个类改写成这样的东西:

 public class BankAccountGroup 
{ 
    private BankAccount bank[];

    public BankAccountGroup(BankAccount[]b)
    {
        if (b != null)
        {
            bank = new BankAccount[b.length];

            for(int i=0; i<b.length;i++)
            {
                bank[i] = b[i];
            }
        }
    }
}