1. 程式人生 > >Data轉Model的類型擦除問題

Data轉Model的類型擦除問題

處理類型 第三方 del clas 也會 mode 範型 由於 style

假如B類繼承A類,數據中有B類,把B類轉Data後存入,再取出。由於Model聲明的類型是A,那轉出來的也是A類型,這樣數據就丟失了一部分。

或者存入的是範型集合數據,存入再取出也會發生類型擦除。

原因在於對類對象進行序列化和反序列化時,很多第三方庫只是單純以Model聲明的類型為準,沒有處理類型擦除問題。

解決問題當然很簡單,只要把真實的類類型也保存進去就可以了。比如Gson

借助TypeToken獲取真實類型。

這裏做個筆記免得以後踩這個坑。

Data轉Model的類型擦除問題