Gideoni, vou tentar explicar de forma
simples.
Digamos que você precisa passar um objeto do tipo
"Endereço" por um socket, ou então escreve lo em um arquivo.
A forma convencional de se fazer isso seria
escrever os campos da classe Endereço um a um, seguindo alguma formatação
inventada por você.
Por exemplo, para a classe:
class Endereco {
String rua;
String complemento;
int numero;
}
Você poderia escrever no arquivo (ou enviar
pelo socket, ou similar) o nome da rua, pular linha, escrever o complemento,
pular linha, e depois escrever o número.
Outra maneira ainda seria escrever os campos
precedidos dos tamanhos deles. Ou qualquer outra formatação que vier na sua
cabeça.
Este não é um método trivial e quanto mais complexa
for a sua classe, mais trabalho você terá para escrever e ler as informações
dela nessa forma.
A serialização facilita todo esse
processo.
Com a serialização, você pode abstrair esses
detalhes e apenas pedir para a stream "escrever" ou "ler" o objeto
serializável.
Você torna uma classe serializável quando
implementa a interface Serializable, que não tem nenhum método. Ou seja, basta
acrescentar implement Serializable.
class Endereco implement Serializable
{
String rua;
String complemento;
int numero; }
agora se eu quisesse escrever os dados de um objeto
da classe Endereco, eu só precisaria usar uma stream especial
(ObjectOutputStream) e usar o método writeObject. Mais ou menos
assim:
ObjectOutputStream out;
Endereco addr;
... (inicialização de out e de addr)
out.writeObject(addr);
Mais simples, não? Para ler este objeto você faria
isto:
ObjectInputStream in;
Endereco addr;
... (inicialização de in)
addr = (Endereco)
in.readObject(); Como você poder ver, é bem simples.
[]´s
Celso Jr
|
- [java-list] O que é Serialization Gideoni Hudson
- Re: [java-list] O que é Serialization Celso Junior
- Re: [java-list] O que é Serialization Gideoni Hudson