Você está aqui: Java ::: Pacote java.lang ::: String |
Qual a diferença entre a comparação de strings usando o operador "==" e o método equals() da classe String?Quantidade de visualizações: 3131 vezes |
Uma das dúvidas mais frequentes entre os estudantes de Java é a diferença entre a comparação de strings usando o operador "==" e o método equals() da classe String. Quando se trata de objetos, o operador "==" verifica se as duas variáveis (referências) apontam para o mesmo objeto String na memória. O método equals(), por sua vez, compara o conteúdo dos dois objetos apontados por duas variáveis. Veja o exemplo a seguir:----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
public class Estudos{
public static void main(String[] args) {
String s1 = "Java";
String s2 = "Java";
String s3 = new String("Java");
// vamos verificar se s1 e s2 são referências para o mesmo objeto String
if(s1 == s2){
System.out.println("s1 e s2 apontam para o mesmo objeto String");
}
else{
System.out.println("s1 e s2 não apontam para o mesmo objeto String");
}
// vamos verificar se s1 e s3 são referências para o mesmo objeto String
if(s1 == s3){
System.out.println("s1 e s3 apontam para o mesmo objeto String");
}
else{
System.out.println("s1 e s3 não apontam para o mesmo objeto String");
}
// vamos verificar se o conteúdo de s1 é igual ao conteúdo de s3
if(s1.equals(s3)){
System.out.println("O conteúdo de s1 e s3 é igual");
}
else{
System.out.println("O conteúdo de s1 e s3 não é igual");
}
}
}
Ao executarmos este código nós teremos o seguinte resultado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- s1 e s2 apontam para o mesmo objeto String s1 e s3 não apontam para o mesmo objeto String O conteúdo de s1 e s3 é igual Neste exemplo nós declaramos e instanciamos uma variável do tipo String chamada s1 e com o conteúdo "Java". Ao declararmos a variável s2 com o mesmo conteúdo, o compilador descobre que o conteúdo das duas variáveis é o mesmo e "aponta" a segunda variável para o conteúdo da primeira. Isso faz com que as duas variáveis s1 e s2 apontem para o mesmo objeto e a comparação s1 == s2 retorne true. Já a variável s3 aponta para um novo objeto String. Desta vez o compilador não aproveita o objeto já criado. Ele cria um novo objeto String fazendo com que a comparação s1 == s3 retorne false. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





