2
    //Singleton
    public class MainList implements Serializable {
            private static MainList instance = new MainList();
            private MainList() {}

            public static MainList getInstance() {
                return instance;
            }
        }

    //Trying to deserialize..
    public MainWindow() {
        //Importing the latest version if it exists in path
        MainList mainListObj = MainList.getInstance();
        try {
            FileInputStream fis = new FileInputStream(path);
            ObjectInputStream oin = new ObjectInputStream(fis);
            mainListObj = (MainList) oin.readObject(); //HERE//////
        }
        catch (Exception exc) {
            return;
        }
    }

MainList 类的 Singleton-Object 是序列化的,可以通过路径找到。

在 //HERE/// 对象成功反序列化为 mainListObj 的行上,但它是本地的..

我怎样才能使它全球化?我认为它可以通过改变 getInstance 方法来解决..不知何故..

4

1 回答 1

0

您的情况不是singleton

在您的情况下,您可以简单地提供一个设置器。

static void setInstance(MainList newInstance) {
 instance = newInstance;
}

MainList.setInstance(mainListObj);
于 2018-03-21T06:06:41.913 回答