class MyClass implements Serializable {
transient int myTransient;
//Other variables
}
Quando ripristino questa classe, desidero inizializzare manualmente myTransient
, ma altrimenti voglio solo utilizzare la serializzazione predefinita.Per inizializzare un campo transitorio, qual è la soluzione più semplice
Come posso iniettare un metodo init()
nel processo di ripristino dell'oggetto senza riscrivere l'intero meccanismo di serializzazione in quanto sembra che mi piacerebbe fare Externalizable
?
ho pensato di inizializzazione pigra. Due problemi qui Se non si utilizza il blocco, la variabile può essere inizializzata più volte. Se lo blocchi, potrebbe rallentare la tua app. Vedere blocco a doppio controllo per l'inizializzazione pigra: http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html. la soluzione di axtavt è migliore. –