说我有两个对象,ObjectAObjectBObjectAObjectB都有一个字段,用于存储第三类的实例TestObject。所有这三个类都实现了Serializable。

假设我启动了ObjectAObjectB

TestObject test = new TestObject();

ObjectA aObj = new ObjectA(test);

ObjectB bObj = new ObjectB(test);


创建完成后,aObj.getTestObject() == bObj.getTestObject()返回true

现在假设我使用Java序列化将aObj和bObj保存到文件中。然后,当我用反序列化将数据加载回aObj.getTestObject() == bObj.getTestObject()时,返回false。我希望存储在aObj和bObj中的对象保持相同的对象,因此如何使用Java序列化来恢复它,即aObj.getTestObject() == bObj.getTestObject()返回true

最佳答案

好吧...我只是回答了我自己的问题。我没有意识到您可以将多个对象保存到一个文件中。我将aObjbObj保存在单独的文件中,但是只有将两个对象都保存到同一文件中时,引用保存才有效。希望这可以节省将来的时间。

09-11 15:06