存入再取出也会发生类型擦除

Data转Model的类型擦除问题,data转model类型

假如B类继承A类,数据中有B类,把B类转Data后存入,再取出。由于Model声明的类型是A,那转出来的也是A类型,这样数据就丢失了一部分。

或者存入的是范型集合数据,存入再取出也会发生类型擦除。

原因在于对类对象进行序列化和反序列化时,很多第三方库只是单纯以Model声明的类型为准,没有处理类型擦除问题。

解决问题当然很简单,只要把真实的类类型也保存进去就可以了。类似Gson借助TypeToken获取真实类型。

这里做个笔记免得以后踩这个坑。

假如
B类继承 A类,数据中有 B类,把 B类转 Data后存入,再取出。由于
Model声明的类型是 A,那转出…

相关文章