请参阅以下代码:
Multimap<String, String> linkedListMap = LinkedListMultimap.create();
Multimap<String, String> linkedHashMap = LinkedHashMultimap.create();
Map<String, String> normalMap = new HashMap<>();
linkedListMap.put("foo", "bar");
linkedHashMap.put("foo2", "bar2");
normalMap.put("fjf", "fsfsj");
System.out.println(new Gson().toJson(linkedListMap.asMap()));
System.out.println(new Gson().toJson(linkedHashMap.asMap()));
System.out.println(new Gson().toJson(normalMap));
它提供以下输出:
null
{"foo2":["bar2"]}
{"fjf":"fsfsj"}
为什么asMap
on a的结果LinkedHashMap
可以被 Gson 序列化而没有任何问题,但asMap
on a的结果LinkedListMap
总是序列化为 null?