我想创建一个包含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();
}
}
有人知道怎么做吗?
答案 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);
}
}