2

请参阅以下代码:

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"}

为什么asMapon a的结果LinkedHashMap可以被 Gson 序列化而没有任何问题,但asMapon a的结果LinkedListMap总是序列化为 null?

4

1 回答 1

1

这是 Guava 14.0.1 上存在的问题。更新到 Guava 15.0 解决了这个问题。我仍然不知道原因。

于 2013-10-19T09:15:31.913 回答