从ArrayList <object>转换为ArrayList <custom>类会引发错误,而Object to Custom则不会

时间:2015-08-01 15:15:25

标签: java android arraylist

我有一个ArrayList deserializedArray,我通过使用GSON对JSON进行反序列化来获得。我有自己的名为Post的课程。当我尝试这样做时

 ArrayList<Post> posts =  (ArrayList<Post>) deserializedArray;

它在可转换类型中抛出异常。但是当我这样做时

Post P = (Post) deserializedArray.get(0);

这很好用。我试图理解为什么第一个不起作用,即使第二个案例有效?

编辑:我已经指出了解决方案。但我真正想知道的是Java的内部工作原理以及为什么对列表有特殊限制?

1 个答案:

答案 0 :(得分:2)

执行您要做的事情的公认方法是使用TypeToken的Gson概念。通过使用TypeToken,你可以根本不需要施放(Gson会为你做这个)。

至于理解您遇到特定错误的原因,请查看this question