猿问

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

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);


    }

}


长风秋雁
浏览 184回答 2
2回答

12345678_0001

你序列化一个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);
随时随地看视频慕课网APP

相关分类

Java
我要回答