2012-12-14 78 views
-1

我正在使用java反射來在運行時調用方法。如何將日期對象轉換爲對象數組?java.util.Date不能轉換爲Object []

Method m = ....; 
Object[] result = (Object[]) m.invoke(...); 

public Date getDate() { 
    return new Date(); 
} 

還會送:

java.lang.ClassCastException: java.util.Date cannot be cast to [Ljava.lang.Object; 

編輯:是的,我應該只是把它添加到對象數組,而不是和返回。

+7

你不能將'Date'轉換成'Object []'。你的意思是你想把它添加到數組中嗎? – Vulcan

+0

是的,我需要返回一個對象數組。在這種情況下,我想將Date轉換爲一個對象,並返回一個大小爲1的Object數組。 – user1636922

+0

爲什麼你會認爲單個對象可能是一個數組?你無法做的不是鑄造,而是包裝。 –

回答

1

你不需要調用是可變參數方法。你可以做。

Object result = method.invoke (instance , new Date()); 

沒有必要創建一個數組。

如果這是你想改變的結果,你可以把它包起來,但我懷疑沒有真正的需要這樣做。我會看看你是否真的需要一個數組

相關問題