2014-12-19 51 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