0

我在打印哈希表的内容时遇到了一些麻烦,它似乎只是在打印参考。

添加到哈希表代码:

protected Hashtable items = new Hashtable();

public void addItem(String itemId, String category, String title, String imageurl, double price, int quantity) {
  //boolean test = false;
  String price1 = String.valueOf(price);
  String[] item = {itemId, imageurl, title, category, price1, Integer.toString(quantity)};

if (items.containsKey(itemId)) {

  String[] tmpItem = (String[])items.get(itemId);
  int tmpQuant = Integer.parseInt(tmpItem[5]);
  quantity += tmpQuant;
  tmpItem[5] = Integer.toString(quantity);
}
else {

  items.put(itemId, item);
}
}

查看内容代码:

public void getContents()
 {
  Enumeration e = items.elements();

  while (e.hasMoreElements())
  {
      System.out.println(e.nextElement());
  }
 }

结果:

[Ljava.lang.String;@3736e10e
[Ljava.lang.String;@73f17a73
[Ljava.lang.String;@729e4f7c

有人有什么想法吗?

谢谢

4

1 回答 1

3

您已经打印了数组对象本身,而不是数组的内容。尝试Arrays.toString

System.out.println(Arrays.toString((String[]) e.nextElement()));
于 2013-04-24T22:45:30.483 回答