2014-12-19 57 views
0

是否可以在遍歷HashMap<String,Object>時檢查數據的數據類型?確定數據類型,同時通過java中的hashmap迭代

while(iterator.hasNext) { 
    Map.Entry pairs = (Map.Entry) iterator.next(); 
    String key = pairs.getKey(); 
    <Type> value = (Type) pairs.getValue();   
} 

該變換圖具有作爲值的BooleanStringArrayList<String>類型的組合。我想確定運行時的值的數據類型並正確地轉換它。

+3

你爲什麼混合多種類型到你的地圖?你可以使用''instance'',但它會要求你測試每個元素。 –

+0

您可以首先測試'value!= null',然後調用'value.getClass()'。你需要什麼? – Thomas

+0

我得到JSON數據後休息ws調用和數據包含布爾,字符串,arraylist類型的混合。我將JSON轉換爲java對象(hashMap),以便稍後在程序中使用。然後我意識到我需要在運行時確定它的類型。謝謝你的建議。 – DaeYoung

回答

0

我建議你使用像Jackson或GSON這樣的對象映射器來在json和你的對象之間進行轉換,而不是手動完成。

+0

謝謝你的建議。我實際上使用Jackson的ObjectMapper將JSON轉換爲Java HashMap。 – DaeYoung