Вступ про порівняння рядків на Java

У Java послідовність символів відома як рядок. Він незмінний (не може бути змінений, коли він створений) і допомагає виконувати кілька операцій. Крім того, порівняння рядків - це поширене завдання програмування на Java. Це можна виконати кількома способами, і це буде обговорено в наступних розділах докладно.

Як порівняти рядок на Java?

Як уже обговорювалося, порівняння рядків можна здійснити за допомогою різних методів. Вони є:

  • Використовуючи метод equals ()
  • Використання методу CompareTo ()
  • Використання методу equalsIgnoreCase ()
  • Використання методу сравнениеToIgnoreCase ()

1. Дорівнює () метод

метод 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. Порівняйте з () методом

У цьому методі значення порівнюються лексикографічно і повертають значення цілого типу. Значення базується на тому, чи дорівнює перша рядок, менша або більша за другу рядок.

Присутні два рядки 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));
)
)

Вихід:

Пояснення вищевказаного коду

  • Тут робиться поєднання зіставленняTo та Ignorecase. Оскільки і 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));
)
)

Вихід:

Висновок

Рядок - це послідовність символів, її об'єкти незмінні. Для порівняння рядків доступні різні методи, такі як рівняння, порівняння до тощо. Всі ці методи використовуються виходячи з вимог. Вони детально пояснюються у наведеному вище розділі.

Рекомендовані статті

Це посібник зі порівняння рядків на Java. Тут ми обговорюємо Вступ до порівняння рядків на Java, як порівняти рядки в Java разом з кодами та виходами. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

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