هل سيتساوى عنصران دائمًا عندما ترجع طريقة المقارنة () صفرًا؟
هل سيتساوى عنصران دائمًا عندما ترجع طريقة المقارنة () صفرًا؟

فيديو: هل سيتساوى عنصران دائمًا عندما ترجع طريقة المقارنة () صفرًا؟

فيديو: هل سيتساوى عنصران دائمًا عندما ترجع طريقة المقارنة () صفرًا؟
فيديو: أعراض نقص الحديد عند النباتات والأشجار كيف نتعرف عليها ؟ وثلاث طرق سهلة وسريعة لعلاج هذا الأمر 🍁🍂 2024, يمكن
Anonim

هو - هي يكون أوصت بذلك قارن ب فقط عائدات 0 ، إذا تم الاتصال بـ يساوي تشغيل نفس الأشياء سيكون إرجاع حقيقية: قارن ب (هـ2) == 0 له نفس قيمة منطقية مثل e1. يساوي (e2) لكل e1 و e2 من الفئة C. لاحظ أن القيمة لاغية يكون ليس مثيلًا لأي فئة ، و e.

علاوة على ذلك ، هل من الممكن لـ equals () إرجاع false حتى لو كانت محتويات كائنين متشابهة؟

4 إجابات. في جافا الطريقة المنطقية العامة يساوي ( موضوع obj) من موضوع . ومع ذلك ، فإن تنفيذ الطريقة على النحو المحدد في موضوع الدرجة هي أن يساوي طريقة سوف العودة إذا و فقط لو ال شيئين مقارنة هي نفس جزء.

بعد ذلك ، السؤال هو ، لماذا يجب أن تكون المقارنة () متسقة مع طريقة يساوي () في Java؟ ويرجع هذا إلى أن واجهة الخريطة مُعرَّفة من حيث ملف يساوي العملية ، ولكن الخريطة تؤدي جميع المقارنات الرئيسية باستخدام قارن ب (أو قارن) طريقة ، لذلك هناك مفتاحان يعتبران مساو بواسطة هذا طريقة هي ، من وجهة نظر الخريطة التي تم فرزها ، مساو.

مع الأخذ في الاعتبار هذا ، ما الفرق بين طريقة == يساوي () وطريقة CompareTo ()؟

قارن ب : يقارن بين سلسلتين من حيث المعجمية. يساوي : يقارن هذه السلسلة بالكائن المحدد. قارن ب يقارن سلسلتين بأحرفهما (في نفس الفهرس) ويعيد عددًا صحيحًا (موجبًا أو سالبًا) وفقًا لذلك. يساوي () يتحقق مما إذا كان هناك عنصران متماثلان أم لا ويعيد قيمة منطقية.

هل يمكننا تجاوز طريقة المقارنة؟

تجاوز المقارنة إلى الطريقة يجب أن يُرجع عددًا صحيحًا سالبًا (عادةً -1) ، إذا كان الكائن الحالي أقل من الذي تم تمريره واحد ، وعدد صحيح موجب (عادة +1) إذا كان أكبر من ، و 0 إذا كان يساوي. طريقة المقارنة يجب أن يطرح استثناء إذا كان الكائن الذي تم تمريره به نوع غير متوافق أو فارغ.

موصى به: