Data转Model的类型擦除问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Data转Model的类型擦除问题相关的知识,希望对你有一定的参考价值。
假如B类继承A类,数据中有B类,把B类转Data后存入,再取出。由于Model声明的类型是A,那转出来的也是A类型,这样数据就丢失了一部分。
或者存入的是范型集合数据,存入再取出也会发生类型擦除。
原因在于对类对象进行序列化和反序列化时,很多第三方库只是单纯以Model声明的类型为准,没有处理类型擦除问题。
解决问题当然很简单,只要把真实的类类型也保存进去就可以了。比如Gson借助TypeToken获取真实类型。
这里做个笔记免得以后踩这个坑。
以上是关于Data转Model的类型擦除问题的主要内容,如果未能解决你的问题,请参考以下文章