Problemas ao comparar uma string com a outra... HELP

Entao galera
em um if do meu programa eu to colocando

if(str1 == str2)

Sendo str1 = “bono” e str2 = “bono”

Eh com == mesmo ?

Ajuda aee plzz
Vlww

não, teste assim:

if ( str1.equals( str2 ) )

é isso aí…
usando == vc esta comparando a referencia deles…

Quando você usa ==, você compara o valor das variáveis.
Numa variável do tipo primitivo:

int i = 5; int j = 5;

O valor de i e j é: 00…0000101. São iguais, retorna true.

No caso de variáveis que tenham referências a objetos, o valor da variável indica o endereço do objeto no heap. Logo, pro ==, pouco importa o que o objeto representa; ele vai verificar se as variáveis têm o mesmo valor (no caso, se referenciam a mesma posição de memória).

Por isso, embora a rigor o == aja da mesma forma nos dois casos, costumamos fizer que para primitivos, o == compara se são iguais; para objetos, se as variáveis apontam para o mesmo objeto (dito no post acima).

Espero não ter complicado :wink: