我在处理代码中创建了一个自定义对象数组,然后继续初始化它。但是,由于某种原因,我在以下位置遇到了空指针异常:objectArray[i].siteID = 5;
我花了过去 2 个小时试图找到有关如何解决此问题的信息,但语法似乎是正确的!
代码:
class TtalkObject{
int siteID = 0;
String URL = "test";
int commentNum = 5;
int averageLength = 5;
}
PFont f;
TtalkObject[] objectArray;
int whatObjectPart = 0;
int whatObject = 0;
void setup()
{
size(300,300);
f=createFont("Arial",16,true);
objectArray = new TtalkObject[50];
for (int i = 0; i < 50; i ++){
objectArray[i].siteID = 5;
objectArray[i].URL = "test";
objectArray[i].commentNum = 10;
objectArray[i].averageLength = 10;
}
}
最佳答案
objectArray = new TtalkObject[50]; //you have initilized array of 50 reference
但这并不意味着每 50 个引用都指向一个对象
您需要为每个对象创建对象。
成功
objectArray = new TtalkObject[50];
for (int i = 0; i < 50; i ++){
objectArray[i] = new TtalkObject();// or some other preferred initialization
objectArray[i].siteID = 5;
关于java - 处理 - 简单空指针错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814773/