我需要一些幫助在Java中使用反射。我需要使用反射來調用返回Object數組的方法。 Method.invoke()
只返回一個Object。這是如何完成的?Java反射;如何使用Method.invoke()來檢索一個Object數組?
非常感謝任何見解!
我需要一些幫助在Java中使用反射。我需要使用反射來調用返回Object數組的方法。 Method.invoke()
只返回一個Object。這是如何完成的?Java反射;如何使用Method.invoke()來檢索一個Object數組?
非常感謝任何見解!
您只需將Method.invoke()的返回值轉換爲您知道它的值。不是很健壯,但是反射的風險是這樣的!所以在這種情況下,這將是:
Object[] result = (Object[]) method.invoke(...);
順便說一句,注意,如果該方法返回一個原始(int
,double
等),Method.invoke
將返回其盒裝當量(Integer
,Double
等)。
一個Object[]
是一個對象 - 將invoke
的結果投射到Object[]
。
非常感謝你們倆! – user1084636
@ user1084636:接受其中之一作爲答案! –