Методът 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 String е равно ()








