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;