Quando definisco un oggetto java per implementare l'interfaccia serializzabile, anche i membri dell'oggetto diventano serializzabili? Oppure devo andare più lontano lungo la profondità di annidamento, per ridefinire ogni oggetto lungo il percorso come serializzabile?Serializzazione in java
risposta
La maggior parte delle classi che si utilizzano regolarmente in java sono serializzabili (raccolte, stringhe, decedenti di numero, ecc.), Tuttavia tutte le classi a cui si fa riferimento devono essere serializzabili o dichiarate transitorie. Naturalmente, se sono transitori, non saranno referenziati quando la classe è deserializzata.
E riguardo gli elenchi? –
Gli elenchi sono raccolte. – Joey
Fondamentalmente è lo stesso argomento: le implementazioni JDK standard come ArrayList sono serializzabili di per sé, ma se si tenta di serializzare una che contiene un oggetto non serializzabile, ciò fallirà. –
Bene, l'implementazione di Serializable fornirà il supporto per la serializzazione solo se tutti i membri non transitori (grazie, danben) sono o primitivi o classi serializzabili stessi.
Quindi sì, se hai un sacco di cose diverse come membri che sono non serializzabili, quindi devi renderli serializzabili anche tu.
A meno che non siano importanti per rappresentare lo stato dell'oggetto. Se riesci a ricrearlo senza di essi, puoi sempre rendere transitori i membri per ometterli dalla serializzazione.
I membri non vengono resi automaticamente serializzabili.
Se hai membri che hai nella classe e che hai scritto tu stesso, devi andare a ciascuno e renderli serializzabili (implementando l'interfaccia).
La maggior parte dei tipi forniti con le librerie JAVA è già serializzabile, quindi non dovrebbe infastidirti.
E naturalmente, questo vale per tutti i membri in modo ricorsivo.
In altre parole: se c'è un pezzo di dati o valore che deve essere trasferito o salvato, a qualsiasi profondità all'interno di un oggetto, deve essere serializzabile.
Esempio: http://www.devx.com/tips/Tip/13020 – Pops
- 1. Serializzazione Java
- 2. Serializzazione Java dell'array multidimensionale
- 3. serializzazione ArrayList Java
- 4. Serializzazione Java sulla rete
- 5. Metodi di serializzazione Java
- 6. Che cos'è la serializzazione in Java?
- 7. serializzazione Jackson con ObjectMapper in java
- 8. Serializzazione della classe anonima in Java
- 9. Java serializzazione con protocollo Buffer
- 10. Serializzazione Java per Extended Class
- 11. Serializzazione Java con campo transitorio
- 12. Serializzazione Java JSON - best practice
- 13. serializzazione oggetti java - thread safe?
- 14. serializzazione oggetti java readObject/defaultReadObject
- 15. JavaScript e Java Data serializzazione JSON
- 16. ingresso Java serializzazione readObject vs ingresso readExternal
- 17. Serializzazione Java, Kryo e il grafico dell'oggetto
- 18. Suggerimenti per la serializzazione degli oggetti Java
- 19. Java "serializzazione del metodo" della classe anonima
- 20. Come eseguire la serializzazione Java senza Reflection?
- 21. Serializzazione Java vs JSON vs XML
- 22. personalizzazione serializzazione delle collezioni Java utilizzando xstream
- 23. La serializzazione Kryo dipende dalla versione Java?
- 24. Java Generic serializzazione/deserializzazione utilizzando Kryo
- 25. Come la serializzazione java funziona internamente?
- 26. Java: quando aggiungere readObjectNoData() durante la serializzazione?
- 27. Java serializzazione degli oggetti e l'eredità
- 28. La serializzazione Java funziona con riferimenti ciclici?
- 29. Presa Java/serializzazione, l'oggetto non verrà aggiornato
- 30. Qual è lo scopo della serializzazione in Java?
controllare questa risposta http://stackoverflow.com/questions/2007134/serialize-objects-containing-objects-java/2007214 Può essere potrebbe aiutare con alcuni dettagli sul processo di serializzazione – JuanZe