我在处理代码中创建了一个自定义对象数组,然后继续对其进行初始化。但是,由于某种原因,我在以下位置遇到了空指针异常: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;
    }

}

最佳答案

看起来您从未创建过TtalkObject的实例,只是在初始化一个数组来容纳其中的五十个对象。

我不熟悉Java语法,在C#中

for (int i = 0; i < 50; i ++){
 objectArray[i] = new TtalkObject();
 objectArray[i].siteID = 5;
 objectArray[i].URL = "test";
 objectArray[i].commentNum = 10;
 objectArray[i].averageLength = 10;
}

10-08 01:50