שאלה- בJAVA - מה ההבדל בין

GilBates

New member
שאלה- בJAVA - מה ההבדל בין

E[] a; a = (E[])java.lang.reflect.Array. newInstance(a.getClass().getComponentType(), size);​
לבין:
E[] a = (E[]) new Object[size];​
כאשר כמובן אני מעביר את E בצורת Generics (של ג'אוה 1.5) שהוא ה-TYPE. למעשה אני רוצה לכתוב סדרה של פונקציות כלליות שיעבדו עבור כל סוג של מערך (למשל Integer, Long, Byte וכו').
 

melatonin

New member
בדקת שהם עובדים בכלל?

השני יזרוק לך ClassCastException, מכיוון שאתה מנסה להמיר מערך של Object למערך של E. אני לא בטוח לגבי הראשון, אבל נראה לי שגם הוא לא יעבוד.
 

GilBates

New member
השני בטוח עובד , רק שאני יכול

להציב רק ערך אחד למשל 0 כ- Integer או 3 כ-Byte. זה עובד. אבל אם אני רוצה להציב למשל ערכים עולים 1,2 וכו' במטריצה אני לא יכול. אם תוכל בבקשה להסתכל על ה-POST הנוסף שלי (2 POST-ים ליתר דיוק) בעמוד זה.
 
למעלה