无法将java.util.Date强制转换为对象[]

无法将java.util.Date强制转换为对象[],java,Java,我正在使用java反射在运行时调用方法。如何将日期对象强制转换为对象数组 即 将提供: java.lang.ClassCastException: java.util.Date cannot be cast to [Ljava.lang.Object; 编辑:是的,我应该将它添加到对象数组中,然后返回它。您不需要这样做,因为invoke是一个varargs方法。你能行 Object result = method.invoke (instance , new Date ()); 不需要创建

我正在使用java反射在运行时调用方法。如何将日期对象强制转换为对象数组

将提供:

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

编辑:是的,我应该将它添加到对象数组中,然后返回它。

您不需要这样做,因为invoke是一个varargs方法。你能行

 Object result = method.invoke (instance , new Date ());
不需要创建数组


如果结果是你想要改变的,你可以把它包装起来,但我怀疑没有必要这样做。我想看看你是否真的需要数组

你不能将
日期
投射到
对象[]
。你的意思是要将其添加到数组中吗?是的,我需要返回一个对象数组。在本例中,我希望将日期转换为对象并以大小为1的对象数组返回。为什么您认为单个对象可以是数组?你不能做的不是强制转换,而是包装。然后你必须从
getDate
方法返回一个新的
Object[]{new Date()}
,或者包装返回的值
new Object[]{m.invoke(…)}
。为什么要将日期强制转换到对象数组中?这是不可能的。日期是对象(因为它从中继承),但不能转换为对象数组。
 Object result = method.invoke (instance , new Date ());