1

我有全局数组。当我想以某种方法保存某些东西并从该数组中显示它之后,它会出现错误 NullPointerException。数组是对象类型。代码是这样的

class Something {
   public CoordinatesObject[] coordinates;

   Something() {
      coordinates = new CoordinatesObject[4];
   }

   public String myMethod() {
      if (coordinates.length==0){
      coordinates[0] = new CoordinatesObject(0,0);
      }
   }
   return Integer.toString(coordinates[0].getX());
}

怎么了?

对不起,我已经更新了代码。我在构造函数中创建了一个新数组

4

4 回答 4

1

您使用以下行创建了一个数组:

coordinates = new CoordinatesObject[4];

然后您尝试像这样创建 CoordinatesObject :

if (coordinates.length==0){
     coordinates[0] = new CoordinatesObject(0,0);
}

但是 coordinate.length 将等于 4,这意味着不会创建 CoordinatesObject 类的对象。

于 2012-04-07T17:19:49.737 回答
0

您实际上需要为数组分配空间,现在您只是没有引用任何内容。

另请注意,数组是固定长度的,您可能需要考虑使用集合(如列表),具体取决于您的需要。

于 2012-04-07T17:00:31.030 回答
0

您还必须使用 new 创建数组。

于 2012-04-07T17:02:01.780 回答
0

目前,您有一个 NULL 引用。正如之前的海报所指出的,您需要为您的数组定义和创建一些空间。

于 2012-04-07T17:02:37.977 回答