我想知道如何将对象逐字放入数组中,例如:
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/