处理:为数组中的每个对象赋值?

时间:2013-12-14 04:42:40

标签: arrays object variable-assignment

对不起,这可能是一个愚蠢的问题。我对编码有点新意,我正在使用基于Java的Processing。

我的主程序中有5个矩形对象的数组

 for (int i = 0; i < portals.length; i++)
  {
    portals[i] = new Portals();
  }

显示时,我从我的Portals类中调用此方法

void display()
  {
    rectMode(CENTER);
    rect(xLoc, yLoc, rad, 30);
  }

xLoc和yLoc是随机确定的。您将如何为数组中的每个对象分配一个数字(如标识),以便我可以参考特定矩形的位置以及将其放在代码中的哪个位置?

1 个答案:

答案 0 :(得分:0)

您可以在课堂上提供可识别的字段。像:

public class Portals {
    int xLoc;
    int yLoc;
    String name;

    ...

    public Portals(String name){
        this.name = name;
    }

    public String getName(){
        return name;
    }
}

然后您可以尝试按名称访问数组

for (int i = 0; i < portals.length; i++)
{
    portals[i] = new Portals("Name");
}

for (Portals p : portals){
    if ("Name".equals(p.getname()) {
        // do somthing
    }
}

或者您可以使用Map。但这可能比你的知识更先进,所以我不会给出代码。但这是另一个建议。

编辑:使用地图

Map<String, Portals> map = new HashMap<String, Portals>();

            Key               Value
map.put("nameForPortal", new Portals());
map.put("anotherNameForPortal", new Portals());

// To access the portal, you can get by the key 

Portals p = map.get("nameForPortal");