我在Java中使用反射需要一些帮助。我需要使用反射来调用返回Object数组的方法。 Method.invoke()
仅返回一个Object。这是怎么做到的?
非常感谢任何见解!
答案 0 :(得分:6)
您只需将Method.invoke()的返回值强制转换为您可能知道的任何内容。不是很强大,但这是反思的风险!所以在这种情况下,它将是:
Object[] result = (Object[]) method.invoke(...);
顺便说一下,请注意,如果方法返回基元(int
,double
等),Method.invoke
将返回其框内等效项Integer
,{{1}等等)。
答案 1 :(得分:0)
Object[]
是一个对象 - 将invoke
的结果投射到Object[]
。