Java反射;如何使用Method.invoke()来检索Object数组?

时间:2011-12-07 01:07:43

标签: java reflection

我在Java中使用反射需要一些帮助。我需要使用反射来调用返回Object数组的方法。 Method.invoke()仅返回一个Object。这是怎么做到的?

非常感谢任何见解!

2 个答案:

答案 0 :(得分:6)

您只需将Method.invoke()的返回值强制转换为您可能知道的任何内容。不是很强大,但这是反思的风险!所以在这种情况下,它将是:

Object[] result = (Object[]) method.invoke(...);

顺便说一下,请注意,如果方法返回基元(intdouble等),Method.invoke将返回其框内等效项Integer,{{1}等等)。

答案 1 :(得分:0)

Object[]是一个对象 - 将invoke的结果投射到Object[]