无法将java.util.Date强制转换为对象[]
我正在使用java反射在运行时调用方法。如何将日期对象强制转换为对象数组 即 将提供:无法将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.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 ());