google/gson GsonでList<T>をデシリアライズするのがけっこう面倒くさくて、以下のようにしなければいけません*1。 Type collectionType = new TypeToken<Collection<Integer>>(){}.getType(); List<Integer> ints2 = gson.fromJson(json, collectionType); ところが、 List<T> を意味する Type 型を Class<List<T>> と Class<T> から作ることができればハックが不要になるはず!とおもって探したところ、かなりマジカルな方法ながらできるとのこと。 java - Gson TypeToken with dynamic ArrayList item type - Stack Overflow というわけで以下のようなユーティリティ