→ Lecture 5 · كل المراحل
المرحلة 11 · شرائح 29

قارن النصوص بمعناها

String Comparison

01 / افهم الفكرة

String Comparison

الفكرة ببساطة

عند مقارنة نصين من النوع String غالبًا نريد أن نسأل: هل يحتويان الأحرف نفسها؟ لهذا السؤال نستخدم equals()، وليس ==.

ما الذي تقارنه ==: مع int تقارن == القيم. لكن مع String تقارن هل المتغيران يشيران إلى الكائن نفسه. تخيّل بطاقتين منفصلتين مكتوبًا عليهما Java: الكتابة متطابقة، لكنهما ليستا البطاقة نفسها.

مقارنة المحتوى

a.equals(b) تقارن الأحرف مع مراعاة حالتها. لذلك Java تساوي Java، لكنها لا تساوي JAVA في هذه المقارنة.

تجاهل حالة الأحرف

a.equalsIgnoreCase(b) تقارن المحتوى دون اعتبار الفرق بين الحروف الكبيرة والصغيرة. لذلك Java وJAVA تعطيان true هنا.

لماذا استخدمنا new String: أنشأنا كائنين منفصلين عمدًا حتى يظهر فرق المرجع عن المحتوى. قد تعطي == نتيجة true في أمثلة أخرى عندما يشترك المتغيران في الكائن نفسه؛ هذا لا يجعلها بديلًا لمقارنة المحتوى.

1 / 4