Подтвердить что ты не робот

Как автоматически выполнить метод после десериализации?

У меня есть класс Foo, it Serializable. Он представляет собой графический объект, и я хочу, чтобы он возвращал свои дескрипторы в состояние перед сериализацией. Все данные хранятся внутри объекта, мне нужен только метод, который нужно вызвать в нужный момент. Как я могу это достичь? Возможно ли это на Java?

(У меня есть Foo в объекте List в Bar, а в некоторых других местах - поэтому я не хочу делать это вручную.)

4b9b3361

Ответ 1

Классы, требующие специальной обработки во время процесса сериализации и десериализации, должны реализовывать специальные методы с этими точными сигнатурами:

 private void readObject(java.io.ObjectInputStream in)
     throws IOException, ClassNotFoundException;

Внедрите этот метод и вызовите in.defaultReadObject(), а затем выполните любую нужную логику.

Подробнее о документах java.io.Serializable