RiapaMeTpbi anrmeTa


J 2 SE 5.0 da yig'ish parametrlari


Download 399.85 Kb.
bet88/97
Sana24.12.2022
Hajmi399.85 Kb.
#1060199
1   ...   84   85   86   87   88   89   90   91   ...   97
Bog'liq
Java (Laboratoriya)

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 map =
new HashMap(); map.put("Kalit 1", 1);
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(); c1.add("Java");
c 1.qo‘shish ( 5 ); //xatolar yo'q : c 1 ( Ob'ekt ob : c 1)
System.out.print(ob); Collection c2 = new HashSet();
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 To'plam
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:
1   ...   84   85   86   87   88   89   90   91   ...   97




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling