[英]How to convert between an Object[] and an interface (IProject[]) in Java?
我在Java中有一個Object []並希望將它轉換為IProject [],它是一個Java接口(org.eclipse.core.resources.IProject),以便為eclipse編寫一個插件。
這可能嗎?
問候
是IProject
Object[]
實例中的Object[]
?
你不能轉換數組本身 - 數組知道它們的槽的類型,所以你不能只將Object[]
的實例轉換為IProject[]
類型的表達式,即使該數組恰好只包含IProject
實例(除非你碰巧有一個Object[]
類型的變量,它實際上指向一個IProject[]
的實例)。
相反,您需要創建一個具有相同內容的新數組:
Object[] objects;
IProject[] projects = new IProject[objects.length];
System.arraycopy(objects, 0, projects, 0, objects.length);
數組存儲是動態類型檢查的,因此如果您的Object[]
包含任何不是IProject
實例的對象,您將獲得ArrayStoreException
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.