English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Метод compareTo() строки Java сравнивает два строки в алфавитном порядке (по алфавитному порядку). Сравнение основано на значении Unicode каждого символа строки.
Синтаксис compareTo()
string.compareTo(String str)
Метод compareTo() принимает один параметр.
str - Строка для сравнения
Если строки равны, тоВозвращает 0
Если строка расположена перед параметром str в алфавитном порядке, тоВозвращает отрицательное целое число
Если строка расположена перед параметром str в алфавитном порядке, тоВозвращает положительное целое число
class Main { public static void main(String[] args) { String str1 = "Learn Java"; String str2 = "Learn Java"; String str3 = "Learn Kolin"; int result; //Сравнение str1 и str2 result = str1.compareTo(str2); System.out.println(result); // 0 // Сравнение str1 и str3 result = str1.compareTo(str3); System.out.println(result); // -1 // Сравнение str3 и str1 result = str3.compareTo(str1); System.out.println(result); // 1 } }
Здесь,
str1 и str2 равны. Поэтому str1.compareTo(str2) возвращает 0.
По алфавитному порядку, str1 находится перед str3. Поэтому str1.compareTo(str3) возвращает отрицательное значение, а str3.compareTo(str1) возвращает положительное значение.
class Main { public static void main(String[] args) { String str1 = "Learn Python"; String str2 = "Learn Java"; // Если str1 и str2 равны, результат равен 0 if (str1.compareTo(str2) == 0) { System.out.println("str1 и str2 равны"); } else { System.out.println("str1 и str2 не равны"); } } }
Результат вывода
str1 и str2 не равны
Метод compareTo() различает регистр букв (большой и маленький)
class Main { public static void main(String[] args) { String str1 = "Learn Java"; String str2 = "learn Java"; int result; //Сравнение str1 и str2 result = str1.compareTo(str2); System.out.println(result); // -32 } }
Когда сравниваются "Learn Java" и "learn Java", мы не получаем 0. Потому что compareTo() различает регистр букв.