前幾天我做了一篇關於在簡單的銀行程序中使用HashMap的帖子,但我在使用Objects作爲鍵時遇到了問題。使用Object作爲鍵的HashMap
HashMap <Account,Client> HM = new HashMap<Account, Client>();
HM.put(new Account(2193,"Uri"), new Client(2193,0,"Uri"));
HM.get(2193,"Uri");
帳戶和客戶端是源的其他部分的類。我的問題是,HM.get沒有按預期工作,並給我一個錯誤。有沒有另外一種方法可以「獲得」價值?不知道如何使用密鑰。請注意,HashMap的設置沒有錯誤。
此外,有沒有更好的方法來解決這個問題?
你實施了Account類equals和hashCode方法? – 2015-04-03 04:25:10
您正在添加帳戶的對象,並嘗試使用整數。它不會工作。 – Pratik 2015-04-03 04:25:17
您正在使用對象作爲關鍵。這將是你的對象的哈希代碼,而不是你的實際對象 – Nimesh 2015-04-03 04:25:39