com.google.gson.internal.LinkedTreeMap cannot be cast to XXXBean

 

问题

 

最近在缓存网络到磁盘数据的时候,发生报错:com.google.gson.internal.LinkedTreeMap cannot be cast to XXXBean

比较纳闷,自己的写法如下:

BaseEntity tBaseEntity = new Gson().fromJson(o, new TypeToken>() {}.getType());

 

发现一直报错,次哦,搞不定,查资料;

 

解决:

BaseEntity tBaseEntity = new Gson().fromJson(o, new TypeToken>() {}.getType());

我知道是泛型擦除导致的,重点是我把原来的T 变为XXXBean 实体,TypeToken 中泛型难道不能再套一个泛型了,具体细节先记录一下,后续有研究进展了再更新;

 

安利一个Android 缓存数据到磁盘的一个库,自己写的支持多实例缓存超时擦除功能;

项目地址:https://github.com/DovSnier/cacheKit;

wiki 介绍:https://github.com/DovSnier/cacheKit/wiki/cache-v0.2.1;

 

你可能感兴趣的:(Java,Android)