首页 > 解决方案 > java中.push()的等效函数?

问题描述

我正在尝试拥有一个内部包含对象的动态数组。我需要一个与 Javascript 中的 .push() 函数但在 Java 中等效的函数。错误发生在pipe.push(new Pipe())设置函数内部。

Bird bird;
Pipe[] pipe;
boolean keyDown = false;

  void setup() {
    size(800, 800);
    frameRate(60);
    bird = new Bird();
    pipe.push(new Pipe()); 
  }

  //------------------------------------------------------------

  void draw() {
    background(0);


    bird.gravity();
    bird.show();
    bird.edge();

  }

  //-----------------------------------------------------------

  void keyPressed(KeyEvent e) {
    if(e.getKeyCode() == 32) {
      if(keyDown == false) {
        bird.jump();
        keyDown = true;
      }
    }
  }

  void keyReleased() {
    keyDown = false;
  }

  //-----------------------------------------------------------------

标签: java

解决方案


Java 数组中的数组是固定大小的。你必须指定大小,然后不能扩展它们。不幸的是更改了声明新数组所需的大小。

但幸运的是,Java 提供了不同的数据结构,例如列表、集合,它们可以随着大小的增加而动态增长。

例如

    ArrayList<Pipe> pipes = new ArrayList();

    pipes.add(new Pipe()); 
    pipes.add(new Pipe()); 


for(Pipe pipe : pipes){
   pipe.update();
}

推荐阅读