2

在课堂上,我有以下领域:

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。

4

1 回答 1

0

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

向量子串的初始化是好的。我无法复制你的问题。你如何改变向量元素?

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

于 2012-12-22T09:22:33.683 回答