دلیل استفاده از generic: کامپایلر های جاوا تایپ‌ها را با دقت بیشتری در compile time چک می‌کند و خیلی از خطاها در هنگام compile time گرفته می‌شود بر خلاف عادی که به runtime ختم می‌شود در جنریک دیگر نیاز به استفاده از cast ها نیست و کد خلاصه‌تر می‌شود جنریک اجازه استفاده از الگوریتم‌های عمومی رو میده و این الگوریتم‌ها در بسیاری از کدها و دیتا تایپ‌های متفاوت قابل استفاده و تغییر هستن و خوانا ترند