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 回答