Java 我在下面的代码中得到了ClassCastException错误
我是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
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的文件中读取了一个对象。然后将其转换为反序列化。你为什么认为这会起作用?