首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问结构数组

访问结构数组
EN

Stack Overflow用户
提问于 2011-11-04 18:24:24
回答 6查看 76关注 0票数 0
代码语言:javascript
运行
复制
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的对象的结构数组。如果我测试println,结果会是:

代码语言:javascript
运行
复制
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中处理对象数组呢?谢谢

EN

回答 6

Stack Overflow用户

发布于 2011-11-04 18:27:36

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

例如:

代码语言:javascript
运行
复制
String toString() {
  return getName() + " " + getAmount();
}

如果我们假设您使用getName()获取名称,使用getAmount()获取金额。

票数 3
EN

Stack Overflow用户

发布于 2011-11-04 18:27:40

代码语言:javascript
运行
复制
System.out.println(inventory[i]);

inventory list包含的是Item的对象,所以inventoryi会给你返回Item的对象。

现在为了打印,调用项目的getter、setter或字段名。

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

代码语言:javascript
运行
复制
System.out.println(inventory[i].getX());

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

代码语言:javascript
运行
复制
System.out.println(inventory[i].x);

或者像其他人所说的那样,覆盖toString()方法。

票数 1
EN

Stack Overflow用户

发布于 2011-11-04 18:28:27

只需覆盖Item类的方法toString()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8007824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档