Java 添加到ArrayList后的NotSerializableException
所以我有一门课叫世界:Java 添加到ArrayList后的NotSerializableException,java,serialization,arraylist,Java,Serialization,Arraylist,所以我有一门课叫世界: public class World implements Serializable { private int dx; private int dy; private int x; private int y; private Path path; public ImageIcon image; public ArrayList<Location> locations; 它在这行oos.writeO
public class World implements Serializable {
private int dx;
private int dy;
private int x;
private int y;
private Path path;
public ImageIcon image;
public ArrayList<Location> locations;
它在这行oos.writeObject(Main.board.world)中抛出java.io.NotSerializableException:sun.nio.fs.WindowsPath
代码>
类位置也可序列化:
public class Location implements Serializable {
public int x;
public int y;
public String name;
public String desc;
我不知道为什么它会说它不可序列化,那么序列化ArrayList有什么特别之处吗?问题在于“路径”。该类不可序列化。
例如,您可以将“路径”另存为字符串,并在加载时创建一个新路径
为其实现readObject和writeObject,并使路径暂时化。谢谢,我将其更改为字符串,现在可以使用了。奇怪的是,我一直在用路径加载和保存这些世界,但它从未抛出异常。也许直到现在它一直是null
。
public class Location implements Serializable {
public int x;
public int y;
public String name;
public String desc;