English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يقارن مقارنةcompareTo() لـ Java String بترتيب اللغة بين كلمتين (بترتيب اللغة). المقارنة تعتمد على قيمة Unicode لكل حرف في الكلمة.
نموذج syntax لـcompareTo()
string.compareTo(String str)
يستخدم مقارنةcompareTo() مع parameter واحد.
str - الكلمة التي سيتم مقارنتها
إذا كانت الكلمتان متساويتان،يعود 0
إذا كانت الكلمة تقع قبل str في الترتيب اللغوي،يعود عدد صحيح سلبي
إذا كانت الكلمة تقع قبل str في الترتيب اللغوي،يعود عدد صحيح إيجابي
class Main { public static void main(String[] args) { String str1 = "Learn Java"; String str2 = "تعلم Java"; String str3 = "تعلم كولين"; 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 = "تعلم بايثون"; String str2 = "تعلم 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 = "تعلم Java"; int result; //مقارنة str1 وstr2 result = str1.compareTo(str2); System.out.println(result); // -32 } }
عند مقارنة "تعلم Java" مع "تعلم Java"، لن نحصل على 0. لأن compareTo() يفرق بين الأحرف الكبيرة والصغيرة.