Метод Java String compareTo () порівнює два рядки лексикографічно (у порядку словників). Порівняння базується на значенні Unicode кожного символу в рядках.
Синтаксис compareTo()
методу:
string.compareTo(String str)
Тут рядок є об’єктом String
класу.
Параметри compareTo ()
compareTo()
Метод приймає один параметр.
- str - рядок для порівняння
compareTo () Повернене значення
- повертає 0, якщо рядки рівні
- повертає від'ємне ціле число, якщо аргумент "
string
перед" стоїть передstr
аргументом у порядку словника - повертає ціле додатне число, якщо
string
значенняstr
аргументу приходить після аргументу в порядку словника
Приклад: Java String compareTo ()
class Main ( public static void main(String() args) ( String str1 = "Learn Java"; String str2 = "Learn Java"; String str3 = "Learn Kolin"; int result; // comparing str1 with str2 result = str1.compareTo(str2); System.out.println(result); // 0 // comparing str1 with str3 result = str1.compareTo(str3); System.out.println(result); // -1 // comparing str3 with str1 result = str3.compareTo(str1); System.out.println(result); // 1 ) )
Ось,
- str1 і str2 рівні. Отже,
str1.compareTo(str2)
повертає 0. - str1 стоїть перед str3 у порядку словника. Отже,
str1.compareTo(str3)
повертає негатив, аstr3.compareTo(str1)
повертає позитив.
Приклад 2: Перевірте, чи рівні два рядки
class Main ( public static void main(String() args) ( String str1 = "Learn Python"; String str2 = "Learn Java"; // if str1 and str2 are equal, the result is 0 if (str1.compareTo(str2) == 0) ( System.out.println("str1 and str2 are equal"); ) else ( System.out.println("str1 and str2 are not equal"); ) ) )
Вихідні дані
str1 і str2 не рівні
compareTo()
Метод приймає регістр букв (великі та малі) до уваги.
Приклад 3: compareTo () з Case
class Main ( public static void main(String() args) ( String str1 = "Learn Java"; String str2 = "learn Java"; int result; // comparing str1 with str2 result = str1.compareTo(str2); System.out.println(result); // -32 ) )
Якщо "Learn Java"
порівнювати з "learn Java"
, ми не отримуємо 0. Це тому, що compareTo()
бере до уваги регістр листів.
Примітки:
- Якщо вам потрібно порівняти два рядки, ігноруючи різниці регістрів, використовуйте метод Java String compareToIgnoreCase ().
- Якщо ви перейдете
null
доcompareTo()
методу, ви отримаєте помилку.
Пов’язаний підручник: Рядок Java дорівнює ()