Junior — Middle
Generyk parametrlarida asosiy ma'lumot turlaridan foydalanishga nima to'sqinlik qilmoqda?
sobes.tech AI
AIdan javob
Java'da genericslar (umumiylar) tur erasure (turlarni yo'qotish) yordamida amalga oshiriladi, bu esa generik parametrlarning turlar haqidagi ma'lumotlari ish vaqtida mavjud emasligini anglatadi.
Shu sababli, primitive turlar (int, boolean va boshqalar) generik parametrlar sifatida ishlatilishi mumkin emas, chunki ular obyektlar emas va sinf sifatida taqdim etilmaydi.
Masalan, quyidagicha yozish noto'g'ri:
List<int> numbers; // Xato
Buning o'rniga, qoplovchilarni ishlatish kerak:
List<Integer> numbers; // To'g'ri
Bu, generiklar faqat obyekt turlari bilan ishlashini va primitive turlar obyekt emasligini anglatadi.