• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

merlin3000

Dúvida com casts (Resolvido)

5 mensagens neste tópico

Numa Class Carro eu tenho o seguinte método:

    public boolean igual( Object obj )
    {
        if( obj instanceof Carro )
        {
            Carro obj2 = (Carro)obj;
            return this.matricula.equals( obj2.matricula );
        }
        return false;
    }

A minha questão é algo assim não deveria funcionar?

    public boolean igual( Object obj )
    {
        if( obj instanceof Carro )
        {
            return this.matricula.equals( (Carro)obj.matricula );
        }
        return false;
    }

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não.

Mas assim funciona:

return this.matricula.equals( ((Carro)obj).matricula );

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim tal como o shumy demonstrou primeiro fazes o cast ao objecto e depois de ele ser convertido ai então pedes a matricula.

Atenção que o objecto dado como argumento ao método deve ser do tipo Carro ou subclass, caso contrario o cast não vai dar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Exacto.. :wallbash: tão lógico. Obrigado.  ;)

O if com o instanceof já me diz se é do tipo Carro ou não certo? Pelo menos está a funcionar lol

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora