الأربعاء، 17 أكتوبر 2012

مقارنة سلسلة أغراض

مقارنة سلسلة أغراض "String"  لجافا  لتحديد المساواة 

يمكن ان تكون مقارنة سلسلة أغراض "String"  لجافا بطرق عديدة كما هو مبين أدناه. بالإعتمادا على نوع المقارنة لسلسلة جافا الذي تحتاجه ، سنستخدم.
* مشغل ==
* منهج equals
* منهج compareTo

مقارنة باستخدام المشغل == 

يستخدم المشغل == عندما يكون لدينا مقارنة مراجع لكائن سلسلة. إذا يتجه إثان من متغيرات السلسلة "String variables"  إلى نفس الكائن في الذاكرة ، فالمقارنة تعود بنعم "true". خلاف ذلك، فإن المقارنة ترجع بلا "false". علما أن المشغل '==' لا يقارن مضمون هذا النص في سلسلة الكائنات. فإنه يقارن فقط المراجع التي توجه اليهم السلسلتين. والبرنامج التالي سيقوم بطباعة "The strings are unequal" في الحالة الأولى، و "The strings are equal" في الحالة الثانية.


مقارنة باستخدام المنهج  equals

يستخدم المنهج  equals عندما نكون في حاجة لمقارنة محتوى النص الموجود في كائنات  سلسلة "String objects". هذا المنهج يقوم بإرجاع صحيحا "true" عندما يكون إثنان من كائنات سلسلة "String objects" يحملان نفس المضمون (أي في نفس القيمة). والبرنامج التالي يقوم بطباعة "The strings are unequal" في الحالة الأولى، و "The strings are equal" في الحالة الثانية.



مقارنة باستخدام المنهج compareTo

يستخدم المنهج compareTo عندما نحتاج لتحديد ترتيب السلاسل حسب الترتيب الأبجدي lexicographically. فإنه يقارن القيمة "char " بنفس الطريقة التي يقوم بها المنهج equals . المنهج  compareTo يقوم بإرجاع عدد صحيح سالب إذا كان الكائن سلسلة الأول يسبق السلسلة الثانية. و يقوم بإرجاع صفر اذا كانت السلسلتين الاتي يجري مقارنتهما متساويتين. يقوم بإرجاع عدد صحيح موجب إذا كان السلسلة كائن الأولى تلي السلسلة الثانية. والبرنامج التالي يقوم بطباعة "name2 follows name1" في الحالة الأولى، و "name1 follows name3" في الحالة الثانية.

ليست هناك تعليقات:

إرسال تعليق