"IllegalArgumentException: Argument is not an array" 使用append()时处理错误;

"IllegalArgumentException: Argument is not an array" error in processing when using append();

我的代码是这样...

ArrayList<Ray> rays = new ArrayList<Ray>();

Particle() {
  for(int a=0; a < 360; a+=10) {
    append(rays, new Ray(position, radians(a)));
  }
}

我正在初始化 class Ray 的 ArrayList。然后我 运行 通过一个 for 循环并试图 将新的 Ray() 添加到列表中。我在编辑器中没有收到任何错误,但每当我 运行 代码时,我都会收到错误消息:IllegalArgumentException: Argument is not an array

我环顾四周,似乎没有什么可以回答我的问题。为什么会这样?

append function is for use with arrays (e.g.: rays[]). However rays is an ArrayList。因此,您需要使用 add 方法:

append(rays, new Ray(position, radians(a)));

rays.add(new Ray(position, radians(a));