جنریک ها (Generics)

جنریک ها کلاسها، متدها یا رابط هایی هستند که بسته به نوع داده ای که به آنها اختصاص داده می شود رفتارشان را سازگار می کنند. به عنوان مثال می توان یک متد جنریک تعریف کرد که هر نوع داده ای را قبول کند. همچنین می توان یک متد ایجاد کرد که بسته به نوع دریافتی، مقادیری از انواع داده ای مانند int، double یا String را نشان دهد. اگر از جنریک ها استفاده نکنید باید چند متد و یا حتی چندین متد سربارگذاری شده برای نمایش هر نوع ممکن ایجاد کنید.

public void Show(int number)
{
    System.out.println(number);
}

public void Show(double number)
{
    System.out.println(number);
}

public void Show(String message)
{
    System.out.println(message);
}

با استفاده از جنریک ها می توان متد جنریکی ایجاد کرد که هر نوع داده ای را قبول کند.

public <E> void Show(E item)
{
    System.out.println(item);
}

متدهای جنریک را در درسهای آینده توضیح خواهیم داد. حتما این سوال را از خودتان می پرسید که چرا نباید از نوع آبجکت که هر نوع داده ای را قبول می کند استفاده کنیم؟ در آینده مشاهده می کنید که با استفاده از جنریک ها نیاز به عمل cast (تبدیل صریح) ندارید. درباره جنریک ها در درسهای بعد مطالب بیشتری توضیح می دهیم.