我正在使用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数组中并返回它。
答案 0 :(得分:1)
你不需要调用varargs方法。你可以做。
Object result = method.invoke (instance , new Date ());
无需创建数组。
如果这是你要改变的结果你可以包装它,但我怀疑没有必要这样做。我会看你是否真的需要一个数组