java.util.Date无法强制转换为Object []

时间:2012-12-14 21:12:57

标签: java

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

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;

编辑:是的,我应该将其添加到Object数组中并返回它。

1 个答案:

答案 0 :(得分:1)

你不需要调用varargs方法。你可以做。

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

无需创建数组。

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