Achei que o "==" só comparasse as referências e não o objeto.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Achei que o "==" só comparasse as referências e não o objeto.
Sim! o == só compara referências. Mas nesse caso é considerado uma boa prática apenas por ser uma otimização.
Imagine o seguinte:
Integer x = new Integer(5);
x.equals(x);
Essa invocação de equals vai retornar muito rapidamente, pois esse if interno vai perceber que o objeto que está sendo comparado é ele mesmo! Então nem precisa comparar os atributos desejados! Quando eles se referenciam par ao mesmo objeto, podemos dizer de cara que são equals!
Acho que entendi. Rsrsrs.