Mudanças entre as edições de "Tornar uma propriedade não serializável no Java"

De Basef
Ir para: navegação, pesquisa
(Criou página com 'Não é possível serializar um objeto de uma classe que possui propriedade cuja instância não é serializavel (que não implementa Serializable). Neste caso, uma exceção...')
 
 
Linha 25: Linha 25:
 
</source>
 
</source>
  
[[Category:Java]
+
[[Category:Java]]

Edição atual tal como às 17h48min de 1 de maio de 2015

Não é possível serializar um objeto de uma classe que possui propriedade cuja instância não é serializavel (que não implementa Serializable). Neste caso, uma exceção em tempo de execução ocorrerá: java.io.NotSerializableException

O modificador 'transient' pode ser usado nestes casos:

package javaapplication1;
 
import java.io.*;
public class JavaApplication1 implements Serializable {
    public transient Test test = new Test();
    public static void main(String [] args) {
        JavaApplication1 f = new JavaApplication1();
        try {
            FileOutputStream fs = new FileOutputStream("Test123.tmp");
            ObjectOutputStream os = new ObjectOutputStream(fs);
            os.writeObject(f); os.close();
        } catch (Exception ex) { 
            ex.printStackTrace(); 
        }
    } 
}
 
class Test { }