如何在ArrayList中调用数组的函数? Java的

时间:2016-04-28 20:57:46

标签: java arrays arraylist processing

我想创建一个包含Array的ArrayList,并调用该数组中对象的函数。

我正在尝试调用Array内部的函数display(),但即使数组包含一个对象,我也会得到一个NPE。

这是我的代码:

class Ball
{
  int x;
  int y;
  int size;
  color c;

  Ball()
  {
    x = int (random(width));
    y = int (random(height));
    size = int (random(100));
    c = color(random(255));
  }

  void display()
  {
    fill(c);
    ellipse(x,y,size,size);
  }
}

ArrayList<Ball[]> balls;


void setup()
{
  size(500,500);

  balls = new ArrayList<Ball[]>();

  for( int i = 0; i < 1; i++)
  {
    balls.add(new Ball[2]);
    println(balls);
  }
}

void draw()
{
  background(255);

  for( int i = 0; i < 1; i++)
  {
    Ball[] b = balls.get(i);
    b[i].display();
  }
}

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

您有 Ball数组的列表。创建(空)数组后添加球:

void setup()
{
  size(500,500);

  balls = new ArrayList<Ball[]>();

  for( int i = 0; i < 1; i++)
  {
    Ball[] ballsArray = new Ball[2];
    ballsArray[0] = new Ball();
    ballsArray[1] = new Ball();
    balls.add(ballsArray);
    println(balls);
  }
}