我正在实现某种AdressBook,并希望将自己实现的某种数据库中的所有联系人保存为单身HashMap<String, Contact> contactsDB
。是否可以序列化这样的对象?
答案 0 :(得分:2)
请注意,如果你这样做,你提供了一种循环你的类的单例的方法(代码不再需要通过getObject方法来确保只创建了一个对象,它不能,单独地,将序列化对象反序列化为)。
答案 1 :(得分:0)
查看java serializable API。如果您的自定义类实现'可序列化',我认为你很好
答案 2 :(得分:0)
不要序列化单例本身,序列化单例行为的基础数据。
答案 3 :(得分:0)
这里有一些东西
// assume that the signleton is actually implemented correctly.
public class IHateSingletons
{
Map<String, Contact> contactMap;
public void storeThatStuffs(final ObjectOutputStream outputStream)
{
outputStream.writeObject(contactMap);
}
public void readThatStuffs(final ObjectInputStream inputStream)
{
contactMap = (Map<String, Contact>)inputStream.readObject();
}