לגבי JDK 1.5.0

GilBates

New member
לגבי JDK 1.5.0

Interface Comparable<T> מה המשמעות של <T> ? Class ArrayList<E> מה המשמעות של <E> ? האם יש אחרים?
 

DadleFish

New member
ודאי שיש אחרים

ב-JDK 1.5.0 נכנס מושג חדש ששמו Generics, שזה קצת כמו templates של ++C. הרעיון הוא, במקרה של ArrayList למשל, שמדובר ב-ArrayList שמכיל עצמים מסוג E (או מסוגים היורשים מ-E). זה מאפשר TYPE SAFETY טוב יותר ויתרונות נוספים. קרא פה עוד על GENERICS.
 

GilBates

New member
קראתי כבר על GENERICS

אבל מה ההבדל בין <T> ל- <E> לאחרים אם יש עוד (<>) מופיע בדוקומנטציה של 1.5.0
 

DadleFish

New member
לא ברורה לי השאלה שלך.

כשאתה מגדיר class חדש, ואתה משתמש ב-generics, אתה מגדיר כ-<T> את הטיפוס שתקבל, ובמקום לקבל Object, אתה מקבל <T>.
 

GilBates

New member
תעיין בבקשה בדוקומנטציה - לפעמים

מופיע כ- E ולפעמים כ- T אני יודע שזה ה-TYPE של ה-CLASS שישמש כאיבר ברשימה.
 

selalerer

New member
אין שום הבדל. זה כמו להשתמש בשם

משתנה שונה. אתה יכול להשתמש בint בשם num או בשם n, זה לא ישנה את הדרך שהמחלקה שלך עובדת.
 

GilBates

New member
אתה מסכים איתי שבדוקומנטציה צריכה

להיות אחידות?
 

selalerer

New member
זה קצת קטנוני, חוצמזה יכול להיות שי

ש סיבה לשימוש בשם משתנה שונה, אולי הם מסמנים מחלקות מסוגים שונים שמצפים שתשתמש שם, או אולי יש יותר מטיפוס אחד בתוך הGeneric הזה ואז המקסימום שאתה יכול לדרוש זה T1 ו T2 אבל זה כבר ממש לא משנה.
 
למעלה