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

线程“main”中的异常java.lang.ClassCastException

线程“main”中的异常java.lang.ClassCastException

长风秋雁 2021-05-31 18:19:20
import java.io.*;class rak implements Serializable{    int i;}public class Main {    public static void main(String[] args) throws Exception {        // write your code herer        rak r = new rak();        r.i = 9;        File f = new File("da.txt");        FileOutputStream f1 = new FileOutputStream(f);        ObjectOutputStream oos = new ObjectOutputStream(f1);        oos.writeObject("value of  i is" + r.i);        FileInputStream f0 = new FileInputStream(f);        ObjectInputStream f9 = new ObjectInputStream(f0);        rak r1 = new rak();        r1 = (rak) f9.readObject();        System.out.println(r1.i);    }}
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

你序列化一个String:


rak r = new rak();

...

oos.writeObject("value of  i is" + r.i);

然后将反序列化结果转换为rak对象:


r1 = (rak) f9.readObject();

而ClassCastException: aString不是 a rak。


如果要反rak序列化a ,请对其进行序列化,而不仅仅是其中一个字段,例如:


oos.writeObject(r);


查看完整回答
反对 回复 2021-06-02
  • 2 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信