Sistema de login
Sistemas de login estão em toda parte — desde apps bancários até redes sociais. Quando você valida um nome de usuário e senha, está comparando textos digitados com valores esperados. Usar == para comparar strings é o erro clássico que quebra essa lógica, pois compara endereços de memória, não o conteúdo. Dominar o método equals() evita bugs silenciosos que um dia vão te tirar o sono.
O PROBLEMA
Usuário/senha fixos. Valide com equals() e &&.
EXEMPLO
admin,1234 → Bem-sucedido!
SOBRE O CONCEITO
Em Java, String é um objeto. O operador == verifica se duas variáveis apontam para o mesmo objeto na memória, enquanto equals() compara o conteúdo caractere por caractere. No exercício, se você usar usuarioDigitado == usuarioFixo, a condição será false mesmo quando o texto for idêntico, porque são objetos diferentes. O erro comum é assumir que == funciona para strings como em tipos primitivos. A solução é escrever usuarioDigitado.equals(usuarioFixo) && senhaDigitada.equals(senhaFixa), garantindo que a comparação seja lógica. Lembre-se: equals() diferencia maiúsculas de minúsculas — 'Admin' não é igual a 'admin'.
RESOLUÇÃO