Як порівнювати рядки в java

Клас String включає кілька методів, за допомогою яких можна порівняти повні рядки і частини рядків. Деякі методи повертають цілочисельні значення, а інші - логічні значення. У цій статті наводяться способи порівняння двох різних рядків, використовуючи різні методи класу String.

кроки

  1. 1817656 1
1. Створіть два об`єкти класу String. Найпростіший спосіб оголосити два рядки в Java - це використовувати наступний код. String оголошує тип об`єкта. string1 і string2 - це імена рядків. Слова «привіт» і «батько» є значеннями строкових об`єктів. Всякий раз, коли компілятор виявляє значення, укладену в лапки, він автоматично створює рядок.
String string1 = "привіт" -String string2 = "батько"-
  • 1817656 2
    2. Використовуйте логічний метод startsWith (String prefix), щоб порівняти початок рядка. Цей метод класу String порівнює початок рядка з зазначеним префіксом (prefix). Це логічний метод, тому він повертає тільки два значення: true (істина) або false (брехня). Використовуйте наступний код і одну зі створених рядків. Представлений код поверне обидва значення (true і false) і виведе результати на екран. Спочатку повернеться значення true, а потім значення false.
    System.out.println (string1.startsWith ( "пр")) - // повертає true і виводить trueSystem.out.println (string1.startsWith ( "ма")) - // повертає false і виводить false
  • 1817656 3
    3. Використовуйте логічний метод startsWith (String prefix, int offset). Цей метод класу String перевіряє, чи входить зазначений префікс (prefix) в рядок, починаючи з заданого індексу (offset). Даний метод ігнорує літери, які знаходяться до заданого індексу. Представлений код поверне обидва значення (true і false). Зверніть увагу, що підрахунок букв в рядку починається з 0. Наприклад, в слові «привіт» буква «п» - це 0, буква «р» - це 1.
    System.out.println (string1.startsWith ( "ве", 3)) - // повертає true і виводить trueSystem.out.println (string1.startsWith ( "ве", 1)) - // повертає false і виводить false
  • 1817656 4
    4. Використовуйте логічний метод endsWith (String prefix), щоб порівняти кінець рядка. Цей метод класу String порівнює кінець рядка з зазначеним префіксом (prefix). При цьому метод шукати відзначений префікс (на основі його довжини), починаючи з кінця рядка. Представлений код поверне обидва значення (true і false) і виведе результати на екран.
    System.out.print (string2.endsWith ( "ец")) - // повертає true і виводить trueSystem.out.print (string1.endsWith ( "пр")) - // повертає false і виводить false
  • 1817656 5
    5. Використовуйте чисельний метод compareTo (String anotherString), щоб порівняти два рядки. Порівняйте два рядки за допомогою string1.compareTo (String2) або string2.compareTo (string1). Так як це чисельний метод, повернеться ціле число. Якщо рядки ідентичні (повністю збігаються), повернеться 0- в іншому випадку повернеться число, відмінне від 0. Наступний код продемонструє порівняння ідентичних та неідентичних рядків, а також виведе результати на екран.
    String string1 = "привіт" -String string2 = "привіт" -String string3 = "батько" -System.out.println (string1.compareTo (string2)) - // виведе 0, так як рядки ідентічниSystem.out.println (string1.compareTo (string3) - // виведе ціле число, відмінне від нуля
  • Поради

    • Наступний код можна використовувати в умовному операторі, щоб вивести повідомлення про помилку, якщо рядки не збігаються:
    if (myString1.compareTo (myString2) != 0) {System.out.println ( "Помилка! Рядки "+ myString1 +" і "+ myString2 +" не збігаються ") -}
  • Щоб просто порівняти два рядки, простіше скористатися методом .equals ():
    String myString1 = new String ( "abc") - String myString2 = new String ( "abc") - if (myString1.equals (myString2)) {System.out.println ( "Рядки збігаються") -}
    • Примітка: У цій ситуації метод (myString1 == myString2) поверне значення false (брехня). Навіть якщо рядки «abc» ідентичні, myString1 і myString2 - це два різних об`єкта класу String. Оператор «==» порівнює об`єкти, а метод .equals () порівнює значення рядків.

    попередження

    • Не порівнюйте рядки, використовуючи оператор «==» (якщо не знаєте, що робите). Цей оператор може повернути невірне значення, що збільшить час налагодження коду, особливо якщо ви програміст.
    • Порівняння двох нульові рядків за допомогою оператора «==» поверне значення true (істина), а порівняння тих же рядків методом .equals () викличе виключення.
    Cхоже