Java 我在下面的代码中得到了ClassCastException错误

Java 我在下面的代码中得到了ClassCastException错误,java,serialization,deserialization,Java,Serialization,Deserialization,我是java新手,我正在学习反序列化,在这样做的同时,我得到了classcastexception 我在一个类中进行序列化,在另一个类中进行反序列化 系列化 zipfile f = new zipfile(30,"kavin"); ArrayList<zipfile> a = new ArrayList<zipfile>(101); a.add(f); String file = "def.txt"; try { FileOutputStream fi = n

我是java新手,我正在学习反序列化,在这样做的同时,我得到了classcastexception

我在一个类中进行序列化,在另一个类中进行反序列化

系列化

zipfile f = new zipfile(30,"kavin");

ArrayList<zipfile> a = new ArrayList<zipfile>(101);
a.add(f);

String file = "def.txt";
try {
    FileOutputStream fi = new FileOutputStream(file);
    ObjectOutputStream s = new ObjectOutputStream(fi);

    s.writeObject(f);
    System.out.println(f.age);
    s.close();
    fi.close();
} catch (FileNotFoundException e) 
{
    // TODO Auto-generated catch block
    e.printStackTrace();
}
catch (IOException e)
{
    e.printStackTrace();
}
String file = "def.txt";


try {
    FileInputStream fi = new FileInputStream(file);
    ObjectInputStream s = new ObjectInputStream(fi);
    f=(deserialization)s.readObject();
    System.out.println(f.age);
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
catch (IOException e)
{
    e.printStackTrace();
} 
catch (ClassNotFoundException e)
{
    e.printStackTrace();
}
}

输出

线程主java.lang.ClassCastException中出现异常:demo2.zipfile无法强制转换为demo2.deserialization
demo2.deserialization.maindeserialization.java:69

处理序列化时,必须记住以下几点:

若父类实现了可序列化接口,那个么子类就不需要实现它,反之亦然。 通过序列化过程仅保存非静态数据成员。 静态数据成员和瞬态数据成员不会通过序列化过程保存。因此,如果您不想保存非静态数据成员的值,请将其设置为瞬态。 当对象被反序列化时,永远不会调用对象的构造函数。 关联对象必须实现可序列化接口。 试着浏览一下你的代码,看看上面提到的情况是否是问题所在


有关更多帮助,请参阅源代码-

在控制台上发布代码和错误。f=反序列化。readObject;这显然是不可能的。f是zipfile小写类型?并且不能再次转换为反序列化,小写?。您从包含序列化zipfile的文件中读取了一个对象。然后将其转换为反序列化。你为什么认为这会起作用?