Як порівнювати рядки в Java
Клас String в Java включає метод compareTo (), який дозволяє швидко порівняти два рядки. В результаті ви отримаєте -1, або 0, або 1 залежно від того, як рядки співвідносяться лексикографічно (лексикографічний порядок) .Ви отримаєте -1, якщо рядок зліва від "." лексикографічно знаходиться перед рядком у скобках.Ви отримаєте 0, якщо два рядки ідентічни.Ви отримаєте -1, якщо рядок зліва від "." лексикографічно знаходиться після рядка в дужках.
Кроки
1
Створіть два рядки, наприклад, myString1 і myString2.2
Порівняйте ці рядки. Для цього використовуйте myString1.compareTo (myString2) або myString2.compareTo (myString1).
Поради
- Ви можете використовувати це в умовному операторі для виведення повідомлення про помилку, якщо рядки не збігаються:
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 ()" буде виняток.