簡體   English   中英

從ArrayList強制轉換 <Object> 到ArrayList <Custom> 類引發錯誤,而“自定義對象”則不

[英]Casting from ArrayList<Object> to ArrayList<Custom> class throws error while Object to Custom does not

我有一個通過使用GSON反序列化JSON收到的ArrayList deserializedArray。 我有自己的班級叫做Post。 當我嘗試這樣做時

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

它在可轉換類型中引發異常說。 但是當我這樣做時

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

這工作正常。我試圖理解為什么即使第二種情況下第一種也不起作用?

編輯:我已指出解決方案。 但是我真正想知道的是Java的內部工作原理,為什么對列表有特殊的限制?

做您想做的事情的公認方法是使用TypeToken的Gson概念。 通過使用TypeToken,您完全不需要進行轉換(Gson將為您完成此操作)。

為了了解為什么會出現特定錯誤,請查看此問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM