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

Клас String в Java включає метод compareTo (), який дозволяє швидко порівняти два рядки. В результаті ви отримаєте -1, або 0, або 1 залежно від того, як рядки співвідносяться лексикографічно (лексикографічний порядок) .Ви отримаєте -1, якщо рядок зліва від "." лексикографічно знаходиться перед рядком у скобках.Ви отримаєте 0, якщо два рядки ідентічни.Ви отримаєте -1, якщо рядок зліва від "." лексикографічно знаходиться після рядка в дужках.

Кроки

  1. 1

    Створіть два рядки, наприклад, myString1 і myString2.

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

  2. 2

    Порівняйте ці рядки. Для цього використовуйте myString1.compareTo (myString2) або myString2.compareTo (myString1).

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

Поради




  • Ви можете використовувати це в умовному операторі для виведення повідомлення про помилку, якщо рядки не збігаються:

if (myString1.compareTo(myString2) != 0){System.out.println("Error! The strings" + myString1 + "And" + myString2 + "Do not match");}

  • Якщо ви просто хочете перевірити рівність двох рядків, ви можете зробити це за допомогою методу .equals ():

String myString1 = new String("Abc");String myString2 = new String("Abc");if(myString1.equals(myString2)){System.out.println("The two strings are equal");}



    • [b]Примітка: тут результатом (myString1 == myString2) буде FALSE. Навіть за умови, що рядки "abc" рівні, myString1 і myString2 два різних екземпляра класу String. "==" Порівнює об`єкти, в той час як ".equals ()" порівнює значення рядків.

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

  • Не намагайтеся порівнювати рядки, використовуючи "==", якщо ви не знаєте, що робите. Результат може бути непередбачуваним і ви витратите додатковий час на налагодження програми (особливо якщо ви недосвідчений Java програміст).
  • Результатом порівняння 2 нульових рядків через "==" буде TRUE, тоді як результатом порівняння 2 нульових рядків через ".equals ()" буде виняток.