دعونا نلقي نظرة على المثال أولاً:
نسخة الكود كما يلي:
حزمة com.amos ؛
/**
* classname: equaltest
* description: مقارنة بين متساوين و == في جافا
* Author: Amosli
*/
الطبقة العامة المساواة {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
int a = 1 ؛
تعويم ب = 1.0F ؛
system.out.println (a == b) ؛ // true
سلسلة C = سلسلة جديدة ("Hi_amos") ؛
سلسلة D = سلسلة جديدة ("hi_amos") ؛
system.out.println (c == d) ؛ // false
system.out.println (c.equals (d)) ؛ // true
}
}
هناك طريقتان رئيسيتان للحكم على ما إذا كان المتغيران متساويان في Java: أحدهما هو استخدام المشغل == ، والآخر هو استخدام طريقة متساوية لتحديد ما إذا كان الاثنان متماثلين.
1) عند استخدام == متغيرين متساوون ، إذا كان المتغيران هو متغيرات من النوع الأساسي وكلاهما لا يلزم أن تكون أنواع البيانات هي نفسها. اثنين من المتغيرات متساوية ، وسيتم إرجاع صحيح.
2).
كما ذكر أعلاه ، عندما يتم شرح نفس السلسلة الجديدة ، == تحدد ما إذا كان نفس نفس الأفعال خاطئة ، بينما يساوي الإرجاع صحيحًا.
فئة السلسلة التي تستهدف طريقة متساوية ، تحقق من رمز المصدر الخاص بها ويمكنك العثور على المساواة فقط كحالة خاصة ==.
نسخة الكود كما يلي:
منطقية عامة تساوي (كائن anobject) {
إذا (هذا == anobject) {
العودة صحيح.
}
if (anobject extryof string) {
سلسلة anotherstring = (سلسلة) anobject ؛
int n = value.length ؛
if (n == anotherstring.value.length) {
char v1 [] = value ؛
char v2 [] = Anotherstring.value ؛
int i = 0 ؛
بينما (n--! = 0) {
إذا (v1 [i]! = v2 [i])
العودة كاذبة
i ++ ؛
}
العودة صحيح.
}
}
العودة كاذبة
}
تدعو طريقة متساوية في الواقع الصيغة == التمييزية من البداية ، ثم تحدد ما إذا كانت قيمتها الإضافية صحيحة.