1
resposta

Meu codigo continua com os seguintes erros na classe deserializacao

Exception in thread "main" java.lang.ClassCastException: br.com.bytebank.banco.modelo.Cliente cannot be cast to br.com.bytebank.banco.modelo.ContaCorrente at br.com.bytebank.banco.teste.TesteDeserializacao.main(TesteDeserializacao.java:17)


package br.com.bytebank.banco.teste;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import br.com.bytebank.banco.modelo.ContaCorrente;
//Código omitido

public class TesteDeserializacao {

    public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {

        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("cc.bin"));
        ContaCorrente cc = (ContaCorrente) ois.readObject();
        ois.close();

        System.out.println(cc.getSaldo());
        System.out.println(cc.getTitular().getNome());

    }
    
    
    Não esta aceitando de alguma forma o cast da conta corrente, mesmo copiando o codigo feito de vcs 

}

1 resposta

Olá Michel, tudo bem?

Pelo erro apresentado, parece que o problema está no cast que você está fazendo na linha 11 do código. O erro "java.lang.ClassCastException" indica que você está tentando converter um objeto de uma classe em um objeto de outra classe que não é compatível.

No seu caso, o erro ocorre porque você está tentando converter um objeto do tipo Cliente em um objeto do tipo ContaCorrente. Verifique se o objeto que você está lendo do arquivo realmente é uma instância da classe ContaCorrente. Se não for, você precisará utilizar a classe correta na conversão.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software