Data转Model的类型擦除问题_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Data转Model的类型擦除问题

Data转Model的类型擦除问题

 2017/8/22 19:08:52  Liangjiawei1992  程序员俱乐部  我要评论(0)
  • 摘要:p.p1{margin:0.0px0.0px0.0px0.0px;font:12.0px".PingFangSC";color:#454545}span.s1{font:12.0px"HelveticaNeue"}假如B类继承A类,数据中有B类,把B类转Data后存入,再取出。由于Model声明的类型是A,那转出来的也是A类型,这样数据就丢失了一部分。或者存入的是范型集合数据,存入再取出也会发生类型擦除。原因在于对类对象进行序列化和反序列化时,很多第三方库只是单纯以Model声明的类型为准
  • 标签:问题

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

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

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

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

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

发表评论
用户名: 匿名