论坛首页 Java企业应用论坛

HashMap的keySet方法序列化BUG解决方案

浏览 7085 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-29  
OO
如果你想把HashMap的keySet方法得到的Set集合序列化,那么即使你能保证集合中每个对象都是可序列化的,你仍然会得到这样一个错误:

java.io.NotSerializableException: java.util.HashMap$KeySet

这个是一个JAVA的BUG,可以在bugs.sun.com中找到
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4756277

我是通过构造另外一个新的Set,比如说HashSet来代替HashMap.keySet的类进行传递的
Set<String> tempSet = new HashSet<String>(subThreadMap.keySet());

大家是怎么解决的?~!
   发表时间:2006-12-29  
没碰到过,我几M的MAP都在传,怎么会报错!
我的步骤是:
加密+压缩+序列化=反序列化+解压+解密
0 请登录后投票
   发表时间:2006-12-29  
Map实现类自身是没有问题,问题出就出在keySet这个方法返回的Set集合上
0 请登录后投票
   发表时间:2006-12-30  
重载HashMap得了!改掉你自己要用的keySet
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics