Книга Эффективная Java и другие источники предоставляют довольно хорошее объяснение того, как и когда использовать метод readObject() при работе с сериализуемыми Java-классами. Метод readResolve(), с другой стороны, остается загадкой. В основном все документы, которые я нашел, либо упоминают только один из двух, либо упоминают оба только индивидуально.
Вопросы, которые остаются без ответа, следующие:
- В чем разница между этими двумя методами?
- Когда должен быть реализован этот метод?
- Как следует использовать readResolve(), особенно с точки зрения возврата чего?
Надеюсь, вы сможете пролить свет на этот вопрос.