使用序列化恢复单个实例

时间:2014-02-16 10:37:32

标签: java serialization instance

假设我有两个对象,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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

double equals(==)检查,如果两个对象相同。 您可以使用equals方法检查两个对象是否相等。

你也可以覆盖等于方法来提供你的自定义对象。