如何避免数组中的NPE并且不要引用相同的索引?

时间:2012-12-20 21:23:44

标签: arrays string reference indexing nullpointerexception

在课堂上我有这个领域:

public static String[] substring;

现在我尝试用以下内容初始化此变量:

for(int i = 0; i < MAX_SUBSTRING; i++){
    substring[i] = new String();
}

但接下来发生的事情是我得到一个NPE,在substring [i]的行上。我知道这是因为子串在声明时没有得到值,但是当我给它值时,每个索引指向相同的位置。有点像每本书都指向另一本书,打开一本书意味着所有其他书同时打开。

public static String[] substring = new String[MAX_STRING];

我对此数组的任何索引所做的任何更改都会影响其余部分。通过以上方式,我可以避免NPE,但随后又出现了另一个问题!

还是初学者,有人可以帮助我吗?

我正在使用Java。

1 个答案:

答案 0 :(得分:0)

我假设您使用的是Java(因为您没有指定)。

矢量子串的初始化很好。我不能复制你的问题。你如何改变矢量元素?

此外,MAX_STRING和MAX_SUBSTRING的值是否相同?为什么将substring声明为静态变量?