صادق خانزادی
صادق خانزادی
خواندن ۳ دقیقه·۳ ماه پیش

Integer vs int in java


در این مقاله فرض میکنیم که شما اطلاعات حدودی از Java Collections دارید.

این سلسله مقالات که برای تکمیل مقاله Java Collections - Everything You MUST Know نوشته شده برای بهبود و درک بهتر collectionها و مواردی که به طور روزمره دارید استفاده میکنید نوشته شده لطفا تمام این دسته بندی رو برای درک بهتر مطالعه کنید .

Mutable VS Immutable in java

StringBuilder vs StringBuffer vs String

Integer vs int

HashMap vs TreeMap vs Set

Heap And Stack

Memory Heap vs Memory Leak

Integer Constant Pool

Integer Pool vs String Pool

Ternary Operator

Autoboxing





فرق بین Integer با int چیست ؟

در جاوا، هر دو int و Integer برای نمایش اعداد صحیح استفاده می‌شوند، اما تفاوت‌های مهمی بین آن‌ها وجود دارد که درک این تفاوت‌ها برای برنامه‌نویسی موثر در جاوا ضروری است.

int: نوع داده اولیه (Primitive Type)

  • نوع داده پایه: int یک نوع داده اولیه در جاوا است که مستقیماً مقدار عددی را نگه می‌دارد.
  • حافظه: به صورت مستقیم در حافظه ذخیره می‌شود و به یک آدرس حافظه اشاره نمی‌کند.
  • عملیات: عملیات روی intها بسیار سریع هستند زیرا مستقیماً روی مقادیر انجام می‌شوند.
  • تبدیل نوع : در برخی موارد، جاوا به صورت خودکار int را به Integer تبدیل می‌کند ، به ویژه در مواقعی که نیاز به یک شیء باشد.

Integer: کلاس (Class)

  • شیء: Integer یک کلاس است و هر متغیر از نوع Integer در واقع یک شیء است که یک مقدار عددی را در خود نگه می‌دارد.
  • حافظه: در هپ (Heap) ذخیره می‌شود و به یک آدرس حافظه اشاره می‌کند.
  • متدها: کلاس Integer دارای متدهای مختلفی برای انجام عملیات روی اعداد صحیح است، مانند تبدیل به رشته، مقایسه با سایر اعداد و غیره.
  • تبدیل نوع : در برخی موارد، جاوا به صورت خودکار Integer را به int تبدیل می‌کند.

جدول مقایسه:

چه زمانی از کدام یک استفاده کنیم؟

  • int:

زمانی که به یک عدد صحیح ساده نیاز دارید و به متدهای اضافی نیازی ندارید. در حلقه‌ها، محاسبات عددی و سایر عملیات که به سرعت نیاز دارند. در آرایه‌ها، جایی که همه عناصر باید از یک نوع داده باشند.

  • Integer:

زمانی که به یک شیء نیاز دارید، مانند زمانی که می‌خواهید یک عدد صحیح را در یک مجموعه (Collection) قرار دهید. زمانی که به متدهای اضافی کلاس Integer نیاز دارید. در جاهایی که اتوکلاسینگ به طور خودکار رخ می‌دهد.

مثال خیلی ساده :

int x = 10; // یک عدد صحیح ساده Integer y = new Integer(20); // یک شیء از نوع Integer // Auto Classing List<Integer> list = new ArrayList<>(); list.add(x); // int به طور خودکار به Integer تبدیل می‌شود

خلاصه

انتخاب بین int و Integer به نیازهای خاص برنامه شما بستگی دارد. اگر به یک عدد صحیح ساده نیاز دارید، int انتخاب بهتری است. اما اگر به یک شیء نیاز دارید یا به متدهای اضافی نیاز دارید، Integer انتخاب مناسب‌تری است.

نکته مهم: در بسیاری از موارد، جاوا به صورت خودکار بین int و Integer تبدیل می‌کند، اما درک تفاوت‌های بین این دو برای نوشتن کد تمیز و کارآمد بسیار مهم است.


منتظر نگاه های زیباتون هستم .

موفق و پیروز باشید.


کد تمیزintegerjavacollection
Java Developer - Technical Team Lead At Dotin
شاید از این پست‌ها خوشتان بیاید