1
resposta

Dúvida nas comparações de ref. nulas

Na transcrição diz: Na aula, decidimos que referências nulas ficam no final:

Para isso não teria que ser:

if(x == null)
{
    return 1;
}

if (y == null)
{
    return 1;
}

Que se a instância de y for nula, ela fica depois do item comparado, e a mesma coisa com o x? Pois está escrito desta forma:

if(x == null)
{
    return 1;
}

if (y == null)
{
    return -1;
}
1 resposta

Oi Guilherme, tudo bem?

Pelo que entendi do exercício, está correto:

if(x == null)
{
    return 1; //x vem DEPOIS de y
}

if (y == null)
{
    return -1; //x vem ANTES de y
}

Note que o X é o "este objeto" , e o Y é o "outro objeto".

Foi estabelecido que referências nulas ficam no final, portanto:

1) no primeiro if, se o X ("este objeto") for nulo, então o x vem depois do y, logo o retorno é -1.

2) no segundo if, se o Y ("outro objeto") for nulo, então o x vem antes do y (pois nulos devem ficar no final), logo o retorno é +1.

Note que o ponto de referência da comparação é sempre o x, ou seja, "este objeto".