استفاده از روش overriding equals در جاوا چیست؟
استفاده از روش overriding equals در جاوا چیست؟

تصویری: استفاده از روش overriding equals در جاوا چیست؟

تصویری: استفاده از روش overriding equals در جاوا چیست؟
تصویری: نادیده گرفتن شی برابر با روش - مثال جایگزینی جاوا - مقایسه اشیاء - APPFICIAL 2024, آوریل
Anonim

لغو برابر است و هش کد در جاوا

برابر است () روش است استفاده شده برای مقایسه اشیاء برای برابری در حالی که hashCode است استفاده شده برای تولید یک کد عدد صحیح مربوط به آن شی

در اینجا، استفاده از متد برابر در جاوا چیست؟

این برابر است () روش دو شی را برای برابری با هم مقایسه می کند و در صورت وجود true برمی گرداند برابر . این برابر است () روش در کلاس Object ارائه شده است استفاده می کند عملگر هویت (==) برای تعیین اینکه آیا دو شیء هستند یا خیر برابر . برای انواع داده های اولیه، این نتیجه صحیح را می دهد.

علاوه بر این، چگونه روش برابری را در جاوا نادیده می گیرید؟ در قطعه کد بالا، کلاس Person دارای یک متد برابر ()برابر شده است که رویکرد گام به گام زیر را در پیش گرفته است:

  1. اگر ارجاع به این شی با ارجاع به شی آرگومان یکسان است، true را برگردانید.
  2. اگر آرگومان null است، false را برگردانید.
  3. اگر اشیا از یک کلاس نیستند، false را برگردانید.

بر این اساس، چرا باید متد برابری را در جاوا نادیده بگیریم؟

کلاس رشته لغو می کند را روش برابر است از کلاس Object به ارث برده و منطق را برای مقایسه دو شیء رشته کاراکتر به کاراکتر پیاده سازی کرده است. دلیل روش برابر است در کلاس Object برابری مرجع به این دلیل است که نمی داند چگونه کار دیگری انجام دهد.

استفاده از روش هش کد و برابری در جاوا چیست؟

اگر یک کلاس لغو شود برابر است ، آن باید هش کد را لغو کنید . وقتی هر دو هستند لغو شد , برابر است و هش کد باید استفاده کنید همان مجموعه فیلدها اگر دو شی هستند برابر ، سپس آنها هش کد ارزش ها باید باشد برابر همچنین. اگر شیء تغییرناپذیر است، پس هش کد کاندیدای ذخیره سازی و تنظیم اولیه تنبل است.

توصیه شده: