簡體   English   中英

如何在Java中轉換Object []和接口(IProject [])?

[英]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數組轉換為Integer數組錯誤

你不能轉換數組本身 - 數組知道它們的槽的類型,所以你不能只將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM