以下のコードを参照してください。
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 としてシリアル化されるのはなぜですか?