2011-03-01 32 views
1

我目前正在這樣做,但它實際上被存儲爲整數..我該怎麼做呢?在地圖中存儲十六進制值.. java?

commandMap = new HashMap();
commandMap.put(「SET_DISPLAY」,0xD0);
commandMap.put(「READ_ADC」,0xD1);
commandMap.put(「GET_PARAM」,0xD2);
commandMap.put(「SET_PARAM」,0xD3);
commandMap.put(「GET_IOVALUE」,0xD4);
commandMap.put(「SET_IOVALUE」,0xD5);

回答

8

十進制,十六進制,八進制等只是符號;即以字符呈現整數的不同方式。它們不是特殊的數字。

所以......

commandMap = new HashMap(); 
commandMap.put("SET_DISPLAY", 0xD0); 
int value = commandMap.get("SET_DISPLAY"); 
System.err.println("0x" + Integer.toHexString(value)); 
+0

謝謝你......問題解決.. :) – 2011-03-01 06:22:07

4

沒有單獨的「十六進制」數據類型。如果要將值顯示爲十六進制,則可以使用靜態方法Integer.toHexString(int i)

即使它們存儲爲整數,你仍然可以做這樣的事情

if (commandMap.get(command) == 0xD2) { 
    ... 
} 

所以真的沒有必要有一個單獨的數據類型。

+0

燁......你是正確的..我DIN有任何想法處理十六進制和東西... anywaay ...現在我已經得到了明確的picture..thanks。 .. :) – 2011-03-01 06:21:36

相關問題