我需要我的應用程序這個int []格式,因爲我在標題中寫道。整數轉換爲十六進制Java
我取的值,且其中充滿了一個XML文件與該格式[00,00,00,00]一個HashMap
的,但我需要它爲每一個int
在前面0x
。
我試圖通過一個for循環「轉換」是:
for(int i = 0; i < value.length; i++){
value[i] = "0x" + value[i];
}
,但我不能轉換從String
到int
這種方式。
然後我試圖直接在XML文件中更改它,但是然後我的應用程序崩潰與NPE。
現在我想知道是否有解決我的問題。
編輯:
對於進一步的解釋:
我嘗試過這一點,但沒有奏效:
public int[] getValue(Map map, String key) {
Map keyMap = map;
int[] value = {};
@SuppressWarnings("rawtypes")
Iterator iter = keyMap.entrySet().iterator();
while (iter.hasNext()) {
@SuppressWarnings("rawtypes")
Map.Entry mEntry = (Map.Entry) iter.next();
if (mEntry.getKey().equals(key)) {
value = (int[]) mEntry.getValue();
}
}
return value;
}
然後我嘗試了一個答案,並添加
for(int i = 0; i < value.length; i++){
value[i] = Integer.valueOf(String.valueOf(value[i]), 16);
}
之前返回。現在,它的作品...但我不知道爲什麼它的工作原理:(
您是否嘗試過搜索「Java的整數轉換爲字符串」互聯網? – Smutje
我不想要一個字符串,我希望它是這樣的:'int [] int = {0x00,0x00,0x00,0x00}' – Fraggles
這是不可能的,因爲'int'是'int' - 十六進制前綴只用於解釋和不用於計算。 – Smutje