אייר (11)

Generics

 

שימוש ב-ArrayList נותן גמישות נפלאה: אנו יכולים להכניס אליו פריטים מכל סוג שהוא: Int,string, או כל אובייקט שאנו יוצרים. זה. אך יש לזה עלות: הביצועים. כל פריט שנוסף ל-ArrayList מומר ל-System.Object. אם הפריטים הם מסוג value type (כמו Int או string), אזי כאשר הם נוספים לרשימה, נוצרת להם מעטפת שתדמה אותם לאובייקט. כאשר מוציאים אותם מהרשימה, צריך להסיר את המעטפת הזו*. ההמרה, העטיפה והסרת המעטפת מורידים את המהירות. את ההשפעה של זה מרגישים כאשר עובדים עם רשימות גדולות.

 

Generics מאפשר ליצור רשימות – וגם מחלקות ומתודות – המקבלות רק סוג מסוים של פרמטרים. התחביר הוא פשוט מאד. ניתן לקרוא על זה במאמר הלא-ארוך, והמובן מאד, כאן:

 

 

 

* לפעולות אלה קוראים Boxing ו-unBoxing. אפשר לקרוא על זה כאן: en.wikipedia.org/wiki/Boxing_(computer_science)

 

 

כתבו תגובה

כתובת הדוא"ל שלכם לא תוצג.