Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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: 3012 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:

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");


Ao executarmos este código nós teremos o seguinte resultado:

s1 e s2 apontam para o mesmo objeto String
s1 e s3 não apontam para o mesmo objeto String


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.

Link para compartilhar na Internet ou com seus amigos:

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

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 22 usuários muito felizes estudando em nosso site.