见下面的代码:
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
上LinkedHashMap
的结果可以由Gson序列化而没有任何问题,但asMap
上LinkedListMap
的结果始终序列化为null?< / p>
答案 0 :(得分:1)
这是Guava 14.0.1上存在的一个问题。更新到Guava 15.0解决了这个问题。我仍然不知道原因。