Мне нужно сериализовать данные из статического HashMap. Мне нужны эти статические данные, потому что у меня нет экземпляра класса, в котором эта карта существует. я реализовать интерфейс сериализации и построить эти два метода:Методы сериализации никогда не называются
private synchronized void writeObject(ObjectOutputStream out) throws IOException
{
System.out.println("start serialization ...");
Collection<TaskUpdateListener> tasks = listeners.values();
out.writeInt(tasks.size());
for(TaskUpdateListener task : tasks)
{
out.writeObject(task);
}
}
private synchronized void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
{
System.out.println("start deserialization ...");
int size = in.readInt();
for(int index = 0; index < size; index++)
{
addTaskUpdateListener((ComponentScheduleTable) in.readObject());
}
}
Но это методы никогда не называются. У кого-то такая же проблема или решение для этого?
как вы используете класс? Просто смотреть на код сериализации будет сложно понять, почему он не называется. – twain249
Почему бы просто не сериализовать HashMap? –
Класс имеет только статические методы и кэширует некоторый user_id в статической переменной. – Happo