Este artigo compartilha a serialização e a desserialização dos objetos Java para sua referência. O conteúdo específico é o seguinte
1. O que é serialização
Converta um objeto em um fluxo de bytes e salve -o, como salvá -lo em um arquivo e restaurar o objeto posteriormente. Esse mecanismo é chamado de serialização do objeto. (Sentença adicional: salvar objetos em dispositivos de armazenamento permanente é chamado de persistência)
2. Como implementar a serialização <br /> é necessário implementar a interface serializável. Se um objeto Java implementa essa interface, significa que o objeto desta classe é serializável.
3. Notas sobre serialização
(1) Quando um objeto é serializado, ele pode salvar apenas variáveis não estáticas do objeto e não pode salvar métodos e variáveis estáticas de membros.
(2) Objeto A refere -se ao objeto B, o objeto A é serializado e B também é serializado.
(3) Se um objeto serializável contiver uma referência a um objeto não -realizado, toda a operação de serialização falhará e uma notícia decepção será lançada. Portanto, o objeto e o objeto de referência devem implementar a interface serializável antes que a serialização possa ser executada.
(4) Se o uso de variáveis ou referências transitórias forem marcadas como transitórias, o objeto ainda poderá ser solicitado, mas não será serializado no arquivo.
4. Código
public class Pessoa implementa serializável {private string name; INTE INT ARVACIONAL PRIVADO; Pessoa pública (nome da string, Int Age) {super (); this.name = nome; this.age = idade; } public string tostring () {return this.name + "-" + this.age; }} classe pública serializableclient {public static void main (string [] args) lança exceção {pessoa p1 = nova pessoa ("zhangsan", 5); Pessoa P2 = nova pessoa ("lisi", 100); // serialize fileOutputStream fos = new FileOutputStream ("Person.txt"); ObjectOutputStream ooS = new ObjectOutputStream (Fos); OOS.WriteObject (P1); OOS.WriteObject (P2); System.out.println ("---------"); // Deserialize fileInputStream fis = new FileInputStream ("Person.txt"); ObjectInputStream ois = new ObjectInputStream (fis); for (int i = 0; i <2; i ++) {pessoa tempson = (pessoa) ois.readObject (); System.out.println (Tempson); }}}
Resultado da saída:
------------
Zhangsan-0
Lisi-0
5. Serialização e deseralização de controle de granulação fina
Quando implementamos os dois métodos privados acima na classe de serialização ou desserialização (a declaração do método deve ser completamente consistente com o acima), ela nos permite controlar o processo de serialização e deserialização de uma maneira granular mais subjacente e mais herdada.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.