Java Properties.put(key,value)中value不是String类型该怎么办?比如value是我自己定义的UserBean。急!

如题:FileOutputStreamfos=newFileOutputStream(filepath);ObjectOutputStreamos=newObjectOu... 如题:
FileOutputStream fos = new FileOutputStream(filepath);
ObjectOutputStream os = new ObjectOutputStream(fos);
properties.put("one",user1);
properties.put("two",user2);
properties.store(os,null); //这里会报异常 java.lang.ClassCastException:com.test.UserBean cannot be cast to java.lang.String

在线等,急!谢谢!
展开
 我来答
小童鞋_成er
推荐于2016-06-20 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
您好,提问者:
properties.store(os,null); 这句话的意思是如果不是键值对类型存储是无法成功的。
所以这个异常其实是转换异常。
ObjectOutputStream这个对象是操作本地序列化的,为何要用这个?
更多追问追答
追问

追答
您好,你这个想法是对的,但是读取会出错的。
如果是oos.writeObject写的,那么读取的时候必须使用ois.readObject来读取。
因为序列化写入之后,Properties是没有办法反序列化的,理论上是这样。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式