在从数据库转移到LinkedHashMap<Integer, Double>
后,我将LinkedHashMap
转换为带有Gson的json字符串存储在数据库中。
LinkedHashMap<Integer, Double> map = new LinkedHashMap<>();
map.put(100, 0.5);
map.put(102, 0.2);
map.put(99, 0.8);
String result = new Gson().toJson(map);
System.out.println(result);
Gson gson = new Gson();
Type mapType = new TypeToken<Map<Integer, Double>>(){}.getType();
Map<Integer, Double> resMap = gson.fromJson(result, mapType);
所以,我对resMap感到困惑,是一种LinkedHashMap吗?或者我应该做LinkedHashMap<Integer, Double> resMap = ...
?
答案 0 :(得分:1)
这将是一个LinkedHashMap
从此代码中检查:
public static void main(String[] args) {
LinkedHashMap<Integer, Double> map = new LinkedHashMap<>();
map.put(100, 0.5);
map.put(102, 0.2);
map.put(99, 0.8);
String result = new Gson().toJson(map);
System.out.println(result);
Gson gson = new Gson();
Type mapType = new TypeToken<Map<Integer, Double>>(){}.getType();
Map<Integer, Double> resMap = gson.fromJson(result, mapType);
System.out.println(resMap.getClass());
}
输出:
{"100":0.5,"102":0.2,"99":0.8}
class java.util.LinkedHashMap