1

オブジェクトの int 配列に値を代入すると、コードでヌル ポインター例外が表示されます。

public class Cage {
    int Value;  
    String Operator;
    int[] placeHolders;
}

Cage o = new Cage();                
o.Value = Integer.parseInt(strSplit[0]);
o.Operator = strSplit[1];               
for(int i=2;i<strSplit.length;i++) {
    o.placeHolders[i] = Integer.parseInt(strSplit[i]);
}
4

3 に答える 3

4

intの配列を作成する必要がありますplaceHolders。これは単なる宣言であり、現時点では定義ではありません。

o.placeHolders = new int[strSplit.length];
于 2012-09-21T08:44:47.890 に答える
2

最初のインデックスにplaceHolders値のない値を保持する必要があると思います。null

o.placeHolders = new int[strSplit.length - 2];
for (int i = 0; i < strSplit.length - 2; i++) {
    o.placeHolders[i] = Integer.parseInt(strSplit[i + 2]);
}
于 2012-09-21T08:57:48.080 に答える
0

使用する前に int[] オブジェクトをインスタンス化する必要があります。

int[] placeHolders = new int[100];
于 2012-09-21T08:44:05.503 に答える