RiapaMeTpbi anrmeTa
J 2 SE 5.0 da yig'ish parametrlari
Download 399.85 Kb.
|
Java (Laboratoriya)
- Bu sahifa navigatsiya:
- Import
- Collections
J 2 SE 5.0 da yig'ish parametrlari
To'plamlar bilan ishlashning yanada qulay mexanizmi taklif etiladi, xususan: ob'ektlarni doimiy ravishda o'zgartirishga hojat yo'q ( Object turi ) kerakli turga; to'plamda saqlanadigan ob'ektlar turi haqida dastlabki xabar , tekshirish esa kompilyatsiya vaqtida amalga oshiriladi. /* № 10.9 misol: parametrlangan to'plam yaratish: Demo Generalics . java */ import java.util.*; umumiy sinf DemoGenerics { public static void main(String args[]) { Map new HashMap int res = map.get("Kalit 1");/* kompilyator " turni " biladi qadriyatlar */ xarakter ch = yangi Belgi ('2'); // xarita . put ( ch , 2);// kompilyator xatosi // kompilyator "chet" turini qo'shishga ruxsat bermaydi } } Bunday holatda, har bir konkret tur uchun yangi sinf yaratilmaydi va to'plamning o'zi o'zgartirilmaydi, lekin kompilyatorga xaritada saqlanishi mumkin bo'lgan elementlarning turi haqida ma'lumot beriladi . Bunday holda, yig'ish parametri asosiy turdagi bo'lishi mumkin emas. Shuni ta'kidlash kerakki, havolani yaratishda tur ko'rsatilishi kerak, aks holda barcha turdagi ob'ektlarni qo'shishga ruxsat beriladi. // № 10.10 misol: parametrlash: Belgini olib tashlang . java Import java . util .*; umumiy sinf belgisini olib tashlang { public static void main(String args[]) { Collection c1 = new HashSet c 1.qo‘shish ( 5 ); //xatolar yo'q : c 1 ( Ob'ekt ob : c 1) System.out.print(ob); Collection c 2.qo‘shish ( “ A ”); // c 2. qo'shish (5); //kompilyatsiya xatosi: c 2 parametrlanganligi sababli} } Chiqish quyidagicha bo'ladi: Java 5 To'plam to'liq parametrlangan bo'lishi uchun havolani e'lon qilishda ham, ob'ektni yaratishda ham parametr ko'rsatilishi kerak. Tayyor kutubxonalar mavjud, ularda cheklar yo'q, shuning uchun ulardan foydalanishda "begona" ob'ekt to'plamga joylashtirilmasligiga kafolat berish mumkin emas. Buning uchun Collections sinfida yangi usul qo'shildi - checkedCollection () : umumiy statik checkedCollection(To'plam< E > c, Class< E > turi) Ushbu usul ish vaqtida tekshiriladigan to'plamni yaratadi, ya'ni "begona" ob'ekt qo'shilsa, ClassCastException tashlanadi : /* № 10.11 misol : tekshirilishi mumkin to'plam : SafeCollection.java */ import java.util.*; umumiy sinf SafeCollection{ Download 399.85 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling