为了账号安全,请及时绑定邮箱和手机立即绑定

java的LinkedHashMap序列化传递之后,只能反序列化为HashMap

java的LinkedHashMap序列化传递之后,只能反序列化为HashMap

Smart猫小萌 2019-02-17 07:26:38
发送之前数据结构: private LinkedHashMap<Integer, LinkedHashMap<Integer, Integer>> selected = new LinkedHashMap<>(); 通过 Bundle bundle = new Bundle(); bundle.putSerializable("data", selected); 传递到下一个activity之后,使用 getIntent().getBundleExtra(G.BUNDLE).getSerializable("data") 只能得到HashMap类型的数据结构,HashMap<Integer, HashMap<Integer, Integer>>;这是为什么呢?
查看完整描述

3 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

LinkedHashMap是HashMap的一个子类,尝试进行显式类型转换了吗?

查看完整回答
反对 回复 2019-03-01
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

转换成json字符串, 传递过去后再转回来就行了.

查看完整回答
反对 回复 2019-03-01
?
慕村225694

TA贡献1880条经验 获得超4个赞

LinkedHashMap没有实现serializable的接口,它的父类HashMap实现了
因此反序列化为HashMap,使用时可以强制显式类型转换

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 2940 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号