Введение в сравнение строк в Java

В Java последовательность символов называется строкой. Он неизменен (его нельзя изменить после создания) и помогает выполнять несколько операций. Кроме того, сравнение строк является распространенной задачей программирования на Java. Это может быть выполнено несколькими способами, и это будет подробно обсуждаться в следующих разделах.

Как сравнить строки в Java?

Как уже обсуждалось, сравнение строк может быть выполнено различными методами. Они есть:

  • Использование метода equals ()
  • Использование метода compareTo ()
  • Использование метода equalsIgnoreCase ()
  • Использование метода compareToIgnoreCase ()

1. Метод Equals ()

Метод equals () сравнивает две строки на основе содержимого строки. Если строки не в одном и том же регистре (то есть в верхнем или нижнем регистре), он будет считаться не равным. Ниже приведен пример метода equals ().

программа

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

Выход:

Объяснение приведенного выше кода

  • Здесь две строки str1 и str2 равны, поскольку они имеют одинаковый случай. (Дело верблюда).
  • Также Str3 и Str4, str5 и str6 не равны.

2. Сравните с () методом

В этом методе значения сравниваются лексикографически и возвращают значение целочисленного типа. Значение зависит от того, равна ли первая строка меньше или больше 2- й строки.

Две строки str1 и str2 присутствуют и

  • если str1 == str2, то 0
  • если str1> str2, то + ve значение
  • если str1 <str2, то -ve значение

программа

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

Выход:

Объяснение приведенного выше кода

  • Поскольку две строки str1 и str2 равны лексикографически, возвращается 0.
  • В то же время, str3 меньше, чем str4, а str5 меньше, чем str6, лексикографически. Итак, отрицательное значение возвращается.

3. Метод равных без учета регистра

Используя этот метод, две строки будут сравниваться без учета того, является ли строка заглавной или строчной буквой.

программа

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

Выход:

Объяснение приведенного выше кода

  • Поскольку используется метод equalsIgnoreCase, str1 и str2 равны, даже если они имеют разные регистры (маленький и верхний регистр). Итак, True возвращается.
  • В случае str3 и str4, str5 и str6 две строки различны. Следовательно, ложь возвращается.

4. Сравните с Игнорировать регистр

Этот метод похож на метод compareTo, где строки сравниваются лексикографически. Разница в том, что сравнение не будет затронуто независимо от того, находятся ли строки в верхнем или нижнем регистре.

программа

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

Выход:

Объяснение приведенного выше кода

  • Здесь выполняется комбинация сравнения и игнорирования. Поскольку и str1, и str2 равны без учета случаев, возвращается 0.
  • Точно так же положительное значение возвращается, поскольку str3 больше, чем str4, и отрицательное значение возвращается, поскольку str5 меньше, чем str6.

Теперь давайте рассмотрим все вышеупомянутые методы в одной программе, чтобы можно было лучше понять сравнение строк.

программа

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

Выход:

Вывод

Строка - это последовательность символов, и ее объекты неизменны. Для сравнения строк доступны разные методы, такие как equals, compareTo и т. Д. Все эти методы используются исходя из требований. Они объяснены в вышеупомянутом разделе подробно.

Рекомендуемые статьи

Это руководство по сравнению строк в Java. Здесь мы обсуждаем Введение в сравнение строк в Java, Как сравнить строки в Java вместе с кодами и выводами. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Защищенное ключевое слово в Java
  2. JTextArea в Java
  3. GridBagLayout в Java
  4. Методы массива в Java