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中的对象数组呢?感谢
答案 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());
}