2011-08-31 24 views

回答

2

您不能轉換陣列本身 - 陣列知道自己的插槽類型,所以你不能只投中Object[]一個實例IProject[]類型的表達式,即使發生了數組僅包含IProject的實例(除非碰巧有一個類型爲Object[]的變量實際上指向IProject[]的實例)。

相反,你需要做一個新的陣列具有相同的內容:

Object[] objects; 
IProject[] projects = new IProject[objects.length]; 
System.arraycopy(objects, 0, projects, 0, objects.length); 

數組存儲動態類型檢查,因此,如果您Object[]包含不屬於IProject實例的任何對象,會得到一個ArrayStoreException

+0

謝謝,這工作! – kadrian

相關問題