1
resposta

Deveria lançar uma InvalidClassException, mas funciona.

Boa tarde

De acordo com o que foi demostrando na aula, o código abaixo deveria gerar uma InvalidClassException, mas está funcionando perfeitamente. Por gentileza, vocês poderiam me explicar o por quê?

package br.com.alura.java.io.aula6;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class SerializacaoDeQualquerObjeto {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
//        Cliente cliente1 = new Cliente();
//        
//        cliente1.setNome("Cidadão Comum");
//        cliente1.setProfissao("Dev");
//        cliente1.setCpf("12345678978");
//
//        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("cliente.bin"));
//        oos.writeObject(cliente1);
//        oos.close();

        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("cliente.bin"));
        Cliente cliente2 = (Cliente) ois.readObject();
        ois.close();
        System.out.println(cliente2.getNome());
    }
}
package br.com.alura.java.io.aula6;

import java.io.Serializable;

public class Cliente implements Serializable{

    private static final long serialVersionUID = 1L;

    private String nome;
    private String cpf;
    private String profissao;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getProfissao() {
        return profissao;
    }

    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }

}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
O post foi fechado por inatividade. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!