java - 如何在处理中创建对象数组[字面意思]?

标签 java processing

我想知道如何将对象逐字放入数组中,例如:

TreeObj[] trees = {new TreeObj(100,100), new TreeObj(50,50)};

其中第一个值为 x,第二个值为 y。我之前查过这个,但得到了这样的回复:

TreeObj[] trees = new TreeObj[2];

最佳答案

两个选项都有效。

选项一是一次性实例化对象,这有点不那么冗长,但不允许您轻松地将动态参数传递给构造函数:

TreeObj[] trees = {new TreeObj(100,100), new TreeObj(50,50)};

void setup(){
  for(TreeObj t : trees) t.draw();
}

class TreeObj{
  int x,y;

  TreeObj(int x,int y){
    println(x,y);
    this.x = x;
    this.y = y;
  }

  void draw(){
    ellipse(x,y,20,20);
  }
}

选项二使用该类类型创建该长度的数组,但该数组将包含两个 null 值,直到您使用该类的新实例初始化每个值,但您可以将动态参数传递给构造函数:

TreeObj[] trees = new TreeObj[2];

void setup(){
  print("trees[] before instantiation: ");
  println(trees);

  for(int i = 0 ; i < trees.length; i++){
    trees[i] = new TreeObj(width/(i+1),height/(i+1));
    trees[i].draw();
  }

  print("trees[] after instantiation: ");
  println(trees);
}

class TreeObj{
  int x,y;

  TreeObj(int x,int y){
    println(x,y);
    this.x = x;
    this.y = y;
  }

  void draw(){
    ellipse(x,y,20,20);
  }
}

关于java - 如何在处理中创建对象数组[字面意思]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44468033/

相关文章:

java - lwjgl 无法显示具有 OpenGL 3 兼容性的三角形

java - 使用java实现一个非常大的队列

java - 如何让球顺利滚出角落?

java - 如何使用 Maven 安装 Processing?

serial-port - 为什么 serial.available 在此代码段中不起作用?

java - 如何绘制一组水平线?

java - 如何递归计算一个数的幂?

java - jOOQ DSLContext : Correct autowiring with Spring

Java android room 从两个表中获取java对象

java - 连接四 - 寻找获胜的处理 (Java)