我有一個Object類的實例(例如obj)。從java中的數組讀取元素
通過使用obj.getClass().isArray()
我可以確認它是一個數組。
現在我想訪問此數組的元素(如obj[0]
或類似的東西)。 是否可以這樣做?
請幫
我有一個Object類的實例(例如obj)。從java中的數組讀取元素
通過使用obj.getClass().isArray()
我可以確認它是一個數組。
現在我想訪問此數組的元素(如obj[0]
或類似的東西)。 是否可以這樣做?
請幫
簡單地將其轉換爲Object
陣列。
(Object[])obj[0];
如果數組是int [],該怎麼辦? – 2013-04-06 06:47:04
校驗代碼如下:
Object array = new String[]{"abc","def"};
if(array.getClass().isArray()){
Object[] aaa = (Object[])array;
System.out.println(aaa[0]);
}
任何非原始陣列可向上轉換到Object[]
java.lang.reflect.Array
提供方法來動態地訪問數組元素。您可以使用Array.get(Object array, int index)
來讀取元素,並使用Array.getLength(Object array)
來獲取它的長度。
將其轉換爲對象數組。那麼你可能會做到這一點。但是這聽起來很糟糕。是什麼讓你以這種方式設計你的代碼? – 2013-04-06 06:21:33
我必須從servlet請求範圍讀取數據,如果結果是數組,我必須返回它的第一個元素。投射到對象[]正在爲我工作。這種方式效率不高嗎? – S4beR 2013-04-06 07:38:57