| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/02/2010 16:22:49
|
ronildobraga
JavaEvangelist
Membro desde: 29/03/2006 10:06:51
Mensagens: 443
Localização: sao paulo - sp
Offline
|
Hi
Estou com problemas para deserialize uma classe que possui tipos primitivos.
Me surgiu a dúvida se existe um problema com relação a isso: Para Serializar um objeto é necessário que seus atributos sejam objetos e não tipos primitivos.
Por exemplo:
Ou o correto deveria ser ?
|
Ronildo da Rocha Braga Jr.
Programador, nada mais.
blog: http://www.iprogramming.blogspot.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/02/2010 16:27:25
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Ao serializar um objeto (de uma classe que implementa Serializable), todos os atributos que não são marcados como "transient" são serializados, incluindo os atributos com tipos primitivos. Na verdade, é melhor usar tipos primitivos, não os encapsulamentos.
Entretanto, se a classe tiver algum atributo que, por algum motivo, não puder ser serializado, ela terá problemas de ser serializada. O problema, provavelmente, é porque a classe tem algum atributo que não pode ser serializado.
Um exemplo estúpido é quando você tenta serializar um objeto de uma classe que tem um atributo do tipo java.io.File, java.io.InputStream, java.sql.Connection, java.lang.Thread ou alguma outra coisa que obviamente não pode ser serializada.
Nesses casos, você ou marca o atributo como transiente, ou então separa a parte que tem de ser serializada da parte que não precisa ser serializada em 2 classes distintas.
|
|
|
|
 |
|
|
|
|