Introdução à comparação de strings em Java

Em Java, uma sequência de caracteres é conhecida como uma sequência. É imutável (não pode ser alterado depois de criado) e ajuda na execução de várias operações. Além disso, uma Comparação de String é uma tarefa de programação comum em Java. Isso pode ser realizado de várias maneiras e será discutido nas seções a seguir em detalhes.

Como comparar String em Java?

Como já discutido, a comparação de cadeias pode ser feita usando métodos diferentes. Eles são:

  • Usando o método equals ()
  • Usando o método compareTo ()
  • Usando o método equalsIgnoreCase ()
  • Usando o método compareToIgnoreCase ()

1. Método Equals ()

O método equals () compara duas strings com base no conteúdo da string. Se as strings não estiverem no mesmo caso (ou seja, maiúsculas ou minúsculas), serão consideradas como não iguais. Abaixo está um exemplo do método equals ().

Programa

public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
//string comparison using equals method
if (str1.equals(str2)) (
System.out.println("Both str1 : " + str1 + " and str2 : "+ str2 +" are equal");
)
else
(
System.out.println("Both str1 : " + str1 + " and str2 : "+ str2 +" are not equal");
)
String str3 = "Happy";
String str4 = "hai";
if (str3.equals(str4)) (
System.out.println("Both str3 : " + str3 + " and str4 : "+ str4 +" are equal");
)
else
(
System.out.println("Both str3 : " + str3 + " and str4 : "+ str4 +" are not equal");
)
String str5 = "Happy";
String str6 = "hard";
if (str5.equals(str6)) (
System.out.println("Both str5 : " + str5 + "and str6 : "+ str6 +" are equal");
)
else
(
System.out.println("Both str5 : " + str5 + " and str6 : "+ str6 +" are not equal");
)
)
)

Resultado:

Explicação do código acima

  • Aqui, duas cadeias str1 e str2 são iguais, pois são do mesmo caso. (Estojo de camelo).
  • Além disso, Str3 e Str4, str5 e str6 não são iguais.

2. Compare com o método ()

Nesse método, os valores são comparados lexicograficamente e retornam um valor do tipo inteiro. O valor é baseado em se a primeira string é igual a, menor ou maior que a string.

Duas strings str1 e str2 estão presentes e

  • se str1 == str2, então 0
  • se str1> str2, então + ve value
  • se str1 <str2, então -ve value

Programa

//Java program to demonstrate compareTo method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
String str3 = "Happy";
String str4 = "hai";
//string comparison using compareTo method
System.out.println(str1.compareTo(str2));
System.out.println(str3.compareTo(str4));
String str5 = "Happy";
String str6 = "Hardest one";
System.out.println(str5.compareTo(str6));
)
)

Resultado:

Explicação do código acima

  • Como duas cadeias str1 e str2 são iguais lexicograficamente, 0 é retornado.
  • Ao mesmo tempo, str3 é menor que str4 e str5 é menor que str6 lexicograficamente. Portanto, um valor negativo é retornado.

3. Igual a ignorar método de caso

Usando esse método, duas cadeias serão comparadas sem considerar se a cadeia é maiúscula ou minúscula.

Programa

//Java program to demonstrate equalsIgnoreCase method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "balloon";
//string comparison using equalsIgnoreCase method
System.out.println(str1.equalsIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println(str3.equalsIgnoreCase(str4));
String str5 = "Happy";
String str6 = "hard";
System.out.println(str5.equalsIgnoreCase(str6));
)
)

Resultado:

Explicação do código acima

  • Como o método equalsIgnoreCase é usado, str1 e str2 são iguais, mesmo que sejam de casos diferentes (letras minúsculas e maiúsculas). Então, True é retornado.
  • No caso de str3 e str4, str5 e str6, duas strings são diferentes. Portanto, false é retornado.

4. Compare com o método Ignorar maiúsculas e minúsculas

Esse método é semelhante ao método compareTo, onde as seqüências de caracteres são comparadas lexicograficamente. A diferença é que a comparação não será afetada se as strings estiverem em maiúsculas ou minúsculas.

Programa

//Java program to demonstrate compareToIgnoreCase method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "balloon";
//string comparison using compareToIgnoreCase method
System.out.println(str1.compareToIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println(str3.compareToIgnoreCase(str4));
String str5 = "Happy";
String str6 = "Hard";
System.out.println(str5.compareToIgnoreCase(str6));
)
)

Resultado:

Explicação do código acima

  • Aqui, é feita uma combinação de compareTo e Ignorecase. Como str1 e str2 são iguais sem considerar os casos, 0 é retornado.
  • Da mesma forma, um valor positivo é retornado como str3 é maior que str4 e um valor negativo é retornado como str5 é menor que str6.

Agora, vamos ver todos os métodos mencionados acima em um único programa, para que seja possível obter um melhor entendimento sobre a comparação de strings.

Programa

//Java program to demonstrate different methods for string comparison
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
System.out.println("Comparison of str1 : " + str1 + " and str2 : " + str2);
System.out.println("Using equals method ");
//string comparison using equals method
if (str1.equals(str2)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
//string comparison using compareTo method
System.out.println(str1.compareTo(str2));
System.out.println("Using equalsIgnoreCase method ");
//string comparison using equalsIgnoreCase method
System.out.println(str1.equalsIgnoreCase(str2));
System.out.println("Using compareToIgnoreCase method ");
//string comparison using compareToIgnoreCase method
System.out.println(str1.compareToIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println("\nComparison of str3 : " + str3 + " and str4 : " + str4);
System.out.println("Using equals method ");
if (str3.equals(str4)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
System.out.println(str3.compareTo(str4));
System.out.println("Using equalsIgnoreCase method ");
System.out.println(str3.equalsIgnoreCase(str4));
System.out.println("Using compareToIgnoreCase method ");
System.out.println(str3.compareToIgnoreCase(str4));
String str5 = "Happy";
String str6 = "hard";
System.out.println("\nComparison of str5 : " + str5 + " and str6 : " + str6);
System.out.println("Using equals method ");
if (str5.equals(str6)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
System.out.println(str5.compareTo(str6));
System.out.println("Using equalsIgnoreCase method ");
System.out.println(str5.equalsIgnoreCase(str6));
System.out.println("Using compareToIgnoreCase method ");
System.out.println(str5.compareToIgnoreCase(str6));
)
)

Resultado:

Conclusão

Uma string é uma sequência de caracteres e seus objetos são imutáveis. Existem diferentes métodos, como iguais, compareTo, etc. disponíveis para comparar as seqüências de caracteres. Todos esses métodos são usados ​​com base nos requisitos. Eles são explicados na seção acima em detalhes.

Artigos recomendados

Este é um guia sobre Comparação de strings em Java. Aqui discutimos a introdução à comparação de strings em Java, como comparar strings em Java, juntamente com códigos e saídas. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Palavra-chave protegida em Java
  2. JTextArea em Java
  3. GridBagLayout em Java
  4. Métodos de matriz em Java