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 () с регистром

 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 String equals ()

Интересные статьи...