我有一個Java的HashMap用來存放一些基本的字符串值:HashMap中的條目被完全不同的鍵覆蓋?
Map<String, String> map = new HashMap<String, String>();
map.put("Id", task.getStorageId());
map.put("Name", task.getName());
map.put("Description", task.getDescription());
下一個使用的Id
項由Description
進入overwitten,每次沒有失敗。我在調試器中看過它 - Id
插入正常,Name
插入正常,則當插入Descroption
時,它會覆蓋Id
條目。在應用程序的另一部分中使用完全相同的代碼和鍵可以毫無問題地工作。完全困惑。這裏發生了什麼?
編輯
也許我應該提到的(儘管它似乎並沒有相關的),這是發生在Android上,而不是在一個JVM。這可能是問題嗎?我也很難相信,但是代碼塊與提供的代碼片段一樣簡單。我將嘗試捆綁一個演示它併發布到某處的Android應用程序。
是否實際代碼完全一樣(使用字符串文字的鍵)的一個在你的問題?或者你使用變量?有沒有機會讓你認爲包含「Description」的變量實際上包含「Id」? – sepp2k 2010-08-11 11:42:13
這是逐字複製的。這根本不怎麼樣。 – MalcomTucker 2010-08-11 11:46:03
@MalcolmTucker:目前,我很難相信這一點。我懷疑你的診斷有些問題,而不是地圖本身。如果您可以提供一個簡短但完整的程序來展示問題,那將會有很大幫助。 – 2010-08-11 11:52:14