2014-10-08 84 views
0

我在我的Android應用程序中有一個錯誤,我找不到有什麼問題,有些東西我認爲是有問題的,我需要你的幫助。HashMap字符串鍵

我有以下的HashMap

HashMap<String, String> numbers = new HashMap<String, String>(); 

,我將數據插入到它像這樣,

numbers.put("1", "one"); 
numbers.put("2", "two"); 

然後我搜索它這個樣子,

numbers.get("1"); 

是這個正確?請注意,除了有時上述工作正常我看到怪異的行爲如我前面提到

更新,我忘了加上「在看跌。

+1

解釋你的怪異行爲是什麼意思。 – 2014-10-08 22:32:01

+2

你的代碼是如何編譯的? – 2014-10-08 22:32:12

+0

如何將int放入帶有String的Map中? – 2014-10-08 22:33:09

回答

0

不,這是行不通的。你應該把與同類型的按鍵讓

也許你的意思是

numbers.put("1", "one"); 
+0

你說得對,我忘了「」 – 2014-10-08 22:38:10

0

因爲你有地圖串來串的,它應該是這樣的:

numbers.put("1", "one"); 
numbers.put("2", "two"); 

然後我搜索它這個樣子,

numbers.get("1"); 

你忘了周圍的地圖的鑰匙引號。

0

1)我覺得你的代碼是:

numbers.put(String.valueOf(1), "one"); 

2)也許你沒有在運行時執行numbers.get("1");,但這樣的事情:

numbers.get("1 "); // key with space 

所以,我建議你調試代碼或嘗試:

numbers.get(myKeyString.trim()); 
+0

這是一個很好的想法。如果數字字符串來自UI,那麼它們可能包含前導或尾隨空白。這也應該很容易測試。 – 2014-10-09 15:10:50

相關問題