Java String compareTo ()

Метод 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 дорівнює ()

Цікаві статті...