jre - java windows 7




جافا يساوي لفئة. هو== نفس (2)

الدرجة نهائية ، لذا لا يمكن تجاوز الـ equals () الخاصة بها. يتم توارث أسلوب يساوي () من الكائن الذي يقرأ

public boolean equals(Object obj) {
    return (this == obj);
}

لذلك نعم ، هم نفس الشيء بالنسبة لفئة ، أو أي نوع لا يتجاوز equals(Object)

للإجابة عن سؤالك الثاني ، يمكن لكل أداة تحميل ClassLoader فقط تحميل الفصل مرة واحدة وستمنحك دائمًا نفس الفئة للحصول على اسم مؤهل بالكامل.

هل يمكن أن نفعل == على متغير Class بدلاً من equals ونتوقع نفس النتيجة؟

فمثلا:

Class clazz = xyz;

الحالة أ:

if(clazz == Date.class) {
// do something
}

الحالة ب:

if(Date.class.equals(clazz)) {
// do something
}

هل الحالة A والحالة B متطابقتان وظيفياً؟


نعم ، نظرًا لأن رمز equals(...) للفئة هو ما يلي:

public boolean equals(Object obj) {
    return (this == obj);
}




java