2013-04-24 109 views
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 

任何人有什麼想法?

謝謝

回答

3

你已經打印了數組對象本身,而不是數組的內容。嘗試Arrays.toString

System.out.println(Arrays.toString((String[]) e.nextElement())); 
+0

謝謝rgettman – d199224 2013-04-24 22:47:57