访问结构数组

时间:2011-11-04 10:24:24

标签: java arrays

for (int i = 0; i < row.findRowNumber(); i++) {
  String[] itemTokens = rawInventory[i].split("\\s");
  inventory[i] = new Item(itemTokens[0], Integer.parseInt(itemTokens[1]));
}

for (int i = 0;i < inventory.length; i++) {
  System.out.println(inventory[i]);
}

我想访问名为inventory的对象的结构数组。如果我测试打印出来,它将显示为:

Item@629a99eb
Item@13ef45e0
Item@41d47f59
Item@65f4cdd2
Item@2af4ca49
Item@2d0c94a7
Item@14f3770c
Item@7c0cbf92
Item@28f549de
Item@7fc4a2d3
Item@469e0c2d
Item@32318293
Item@50739aa3
Item@55ad6c98

那么如何处理java中的对象数组呢?感谢

6 个答案:

答案 0 :(得分:3)

您应该为您的数据结构Item实施toString(),然后在System.out.println()上调用它。

例如:

String toString() {
  return getName() + " " + getAmount();
}

如果我们假设您有getName()来获取名称,并getAmount()来获取金额。

答案 1 :(得分:1)

System.out.println(inventory[i]);

库存清单包含Item的对象,因此库存[i]将返回物品的对象。

现在为了打印,请调用Item的getter,setter或字段名称。

例如,Item类有两个实例变量x,y,它们是在构造函数中设置的。那么你能做的就是

System.out.println(inventory[i].getX());

如果'x'是公开的,那么只需

System.out.println(inventory[i].x);

或由其他人s,重写toString()方法。

答案 2 :(得分:1)

只需覆盖Item类

的方法toString()

答案 3 :(得分:1)

您的item类需要覆盖toString()。

答案 4 :(得分:1)

您可以在toString()课程中实施Item方法。当您实现它时,列表将包括您在该方法中为每个Item打印的内容。

答案 5 :(得分:1)

您正在打印Item个对象。 如果您想要具有特定输出,可以在toString()课程中实施Item方法。

或者在你的循环访问getters中:

for (int i = 0;i < inventory.length; i++) {
  System.out.println(inventory[i].getName() + " " + inventory[i].getQuantity());
}