A maior rede de estudos do Brasil

Como faço para comparar strings em java?


3 resposta(s) - Contém resposta de Especialista

User badge image

RD Resoluções Verified user icon

Há mais de um mês

Existem alguns jeitos para comparar strings em Java. O método mais fácil é “==”, entretanto isso não quer dizer que é eficiente, pois ele somente compara o valor da variável. Por exemplo: se você tiver uma string a = hey e uma string b = a, então quando será retornado true. Agora, se a string b = hey, quando se compara as duas strings com esse método ele retornará falso.

Se você quer comparar objetos, os mais ideal é usar .equals(). Esse método é eficiente, pois quando se usa strings em Java é mantido uma lista de objetos String que já foi criado anteriormente. Por isso, toda vez que é escrito uma String que já existe, ele procurará nessa lista e retornará um ponteiro para a mesma instância.

O método compareTo() também é um jeito de comparar Strings. Ele retorna -1, o ou 1, de acordo com a ordem do dicionário. Será 0 se as Strings forem iguais.

Há também outros métodos de comparação, todavia são um pouco além da comparação de Strings exatas, como Case insensitive (.equalsIgnoreCase()) ou uma String contida em outra (.contains()), por exemplo.

Existem alguns jeitos para comparar strings em Java. O método mais fácil é “==”, entretanto isso não quer dizer que é eficiente, pois ele somente compara o valor da variável. Por exemplo: se você tiver uma string a = hey e uma string b = a, então quando será retornado true. Agora, se a string b = hey, quando se compara as duas strings com esse método ele retornará falso.

Se você quer comparar objetos, os mais ideal é usar .equals(). Esse método é eficiente, pois quando se usa strings em Java é mantido uma lista de objetos String que já foi criado anteriormente. Por isso, toda vez que é escrito uma String que já existe, ele procurará nessa lista e retornará um ponteiro para a mesma instância.

O método compareTo() também é um jeito de comparar Strings. Ele retorna -1, o ou 1, de acordo com a ordem do dicionário. Será 0 se as Strings forem iguais.

Há também outros métodos de comparação, todavia são um pouco além da comparação de Strings exatas, como Case insensitive (.equalsIgnoreCase()) ou uma String contida em outra (.contains()), por exemplo.

User badge image

Gabriel Barleta

Há mais de um mês

String nome1 = "everton";

String nome2 = "joao";

if(nome1.equals(nome2)){

// faz algo...

}

Essa pergunta já foi respondida por um dos nossos especialistas