class MyClass implements Serializable {
transient int myTransient;
//Other variables
}
Cuando restauro esta clase quiero inicializar myTransient
manualmente, pero de lo contrario solo quiero usar la serialización predeterminada.Para inicializar un campo transitorio, ¿cuál es la solución más simple
¿Cómo puedo inyectar un método init()
en el proceso de restauración del objeto sin volver a escribir todo el mecanismo de serialización, ya que parece que Externalizable
me tendría que hacer?
pensé en la inicialización perezosa. Dos problemas aquí. Si no usa el bloqueo, su variable puede inicializarse varias veces. Si bloquea, puede ralentizar su aplicación. Ver el bloqueo comprobado doble para la inicialización lenta: http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html. La solución de axtavt es mejor. –