Отражение Java; Как использовать Method.invoke () для получения массива объектов? - PullRequest
3 голосов
/ 07 декабря 2011

Мне нужна помощь с использованием отражения в Java. Мне нужно использовать отражение, чтобы вызвать метод, который возвращает массив объектов. Method.invoke() возвращает только объект. Как это сделать?

Большое спасибо за любые идеи!

Ответы [ 2 ]

6 голосов
/ 07 декабря 2011

Вам просто нужно привести приведенное значение Method.invoke () к тому, что вы знаете, что это такое. Не очень надежный, но таковы риски рефлексии! Так что в этом случае это будет:

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

Кстати, обратите внимание, что если метод возвращает примитив (int, double и т. Д.), Method.invoke вернет его коробочный эквивалент (Integer, Double и т. Д.).

0 голосов
/ 07 декабря 2011

Object[] является объектом - приведите результат от invoke к Object[].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...