A Java String CompareTo () metódus két sztringet lexikografikusan hasonlít össze (szótári sorrendben). Az összehasonlítás a karakterláncok egyes karaktereinek Unicode-értékén alapul.
A compareTo()
módszer szintaxisa :
string.compareTo(String str)
Itt a karakterlánc az String
osztály objektuma .
Paraméterek
A compareTo()
módszer egyetlen paramétert vesz fel.
- str - az összehasonlítandó karakterlánc
returnTo () visszatérési érték
- 0-t ad vissza, ha a karakterláncok egyenlőek
- negatív egész számot ad vissza, ha a szótár sorrendben
string
azstr
argumentum elé kerül - pozitív egész számot ad eredményül, ha a szótár sorrendben
string
azstr
argumentum után következik
Példa: Java karakterlánc összehasonlítás ()
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 ) )
Itt,
- str1 és str2 egyenlő. Ezért
str1.compareTo(str2)
0-t ad vissza. - Az str1 a szótár sorrendjében az str3 elé kerül. Ennélfogva
str1.compareTo(str3)
negatív ésstr3.compareTo(str1)
pozitív.
2. példa: Ellenőrizze, hogy két karakterlánc egyenlő-e
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"); ) ) )
Kimenet
str1 és str2 nem egyenlő
A compareTo()
módszer figyelembe veszi a kis- és nagybetűket.
3. példa: CompareTo () Case-vel
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 ) )
Ha "Learn Java"
összehasonlítjuk "learn Java"
, akkor nem kapunk 0-t. Ez azért van, mert compareTo()
figyelembe veszi a nagybetűket.
Megjegyzések:
- Ha két karakterláncot kell összehasonlítania, figyelmen kívül hagyva az esetkülönbségeket, használja a Java karakterlánc összehasonlításToIgnoreCase () módszert.
- Ha áttér
null
acompareTo()
módszerre, hibát kap.
Kapcsolódó oktatóanyag: A Java karakterlánc egyenlő ()