class="p1">假如B类继承A类,数据中有B类,把B类转Data后存入,再取出。由于Model声明的类型是A,那转出来的也是A类型,这样数据就丢失了一部分。
或者存入的是范型集合数据,存入再取出也会发生类型擦除。
原因在于对类对象进行序列化和反序列化时,很多第三方库只是单纯以Model声明的类型为准,没有处理类型擦除问题。
解决问题当然很简单,只要把真实的类类型也保存进去就可以了。比如Gson借助TypeToken获取真实类型。
这里做个笔记免得以后踩这个坑。