مقارنة النصوص
جزء من قسم Fundamentals في رحلة Java على Coddy — الدرس 21 من 73.
في لغة Java، تختلف مقارنة السلاسل النصية عن مقارنة الأرقام. بينما يمكنك استخدام <، و >، و ==، وما إلى ذلك للأرقام، تتطلب السلاسل النصية طرقاً مختلفة لأنها كائنات (objects)، وليست أنواعاً أولية (primitive).
الطريقة الأكثر شيوعاً وصحة لمقارنة ما إذا كانت سلسلتان نصيتان لهما نفس المحتوى هي استخدام الدالة equals():
String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";
boolean result1 = str1.equals(str2); // true
boolean result2 = str1.equals(str3); // false (حساس لحالة الأحرف)باستخدام equalsIgnoreCase() إذا كنت تريد مقارنة السلاسل النصية دون مراعاة حالة الأحرف (كبيرة/صغيرة):
String str1 = "Hello";
String str2 = "hello";
boolean result = str1.equalsIgnoreCase(str2); // trueيحاول العديد من المبتدئين استخدام == لمقارنة السلاسل النصية، ولكن هذا عادة ما يكون خاطئاً:
String str1 = "hello"; String str2 = "hello"; boolean result = (str1 == str2);
لا تقارن السلاسل النصية باستخدام علامة
==!
ورقة مرجعية
في لغة Java، تُعد السلاسل النصية (strings) كائنات وتتطلب دوالاً خاصة للمقارنة:
استخدم equals() لمقارنة محتوى السلاسل النصية (حساس لحالة الأحرف):
String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";
boolean result1 = str1.equals(str2); // true
boolean result2 = str1.equals(str3); // falseاستخدم equalsIgnoreCase() لمقارنة السلاسل النصية مع تجاهل حالة الأحرف:
String str1 = "Hello";
String str2 = "hello";
boolean result = str1.equalsIgnoreCase(str2); // trueهام: لا تستخدم == لمقارنة السلاسل النصية - فهي تقارن مراجع الكائنات (object references)، وليس المحتوى.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة