No uso de comporações, pode adotar como regra
geral:
Comparações entre objetos são feitos por referência, o que
siginifica que (Object) A == (Object) B só será verdade se, e somente
se, A for uma referência para o mesmo objeto que B referencia.
Comparações entre tipos nativos são feitas por valor, o que
significa que int A == int B só será verdade se, e somente se, o valor int de A
for o mesmo valor int B.
Alguns casos podem ser tratados de forma especial, exatamente
como o Aristides afirmou (e como o ito@... provou). Mas isso é a excessão; não a
regra.
Se você definir suas Strings com new String(), elas serão
representadas por dois espaços de memória diferentes, por mais que possuam
o mesmo conteúdo. E, nesse caso, == vai sempre retornar falso; afinal,
essas Strings não serão o mesmo objeto.
|
- [SouJava-J] Teste de Igualdade entre Strings Denílson da Silva Guedes
- Re: [SouJava-J] Teste de Igualdade entre... Bruno Diniz de Paula
- Re: [SouJava-J] Teste de Igualdade entre... Siqueira
- [SouJava-J] Geração de .ex... Felipe HelpFor
- Fw: [SouJava-J] Teste de Igualdade entre... Aristides Tavares dos Santos
- Re: Fw: [SouJava-J] Teste de Igualdade e... JavaDesig
- Re: Fw: [SouJava-J] Teste de Igualda... ito
- RE: Fw: [SouJava-J] Teste de Igualda... Fernando Ribeiro
- Siqueira