Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Invoke с неопределенными явно параметрами / 5 сообщений из 5, страница 1 из 1
08.09.2013, 15:09:36
    #38390325
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Invoke с неопределенными явно параметрами
К примеру есть набор значений в HashMap, нужно вызвать метод с набором этих параметров.
Можно, конечно, просто передать туда инстанс хеш-мап

Код: java
1.
Method method = this.getClass().getMethod("Action"+request.get("action").toString(), new Class[] {HashMap.class});



Но хотелось бы, чтобы в методе можно было прописывать необходимые параметры, к примеру


Код: java
1.
2.
hashmap.put("a", 1);
hashmap.put("b", 2);



А для этого набора данных вызывался метод:

Код: java
1.
public HashMap(int a, int b) {}



Возможно ли такое?
...
Рейтинг: 0 / 0
08.09.2013, 18:34:23
    #38390439
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Invoke с неопределенными явно параметрами
Берёшь нужные значения из HashMap'а и вызываешь с ними метод invoke (на правильном method'е)..
...
Рейтинг: 0 / 0
08.09.2013, 18:46:30
    #38390443
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Invoke с неопределенными явно параметрами
Как найти правильный метод?
...
Рейтинг: 0 / 0
08.09.2013, 19:05:38
    #38390450
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Invoke с неопределенными явно параметрами
И как вызывать? Честно говоря долго искал, но не нашел ответов на эти вопросы.
...
Рейтинг: 0 / 0
08.09.2013, 19:39:08
    #38390467
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Invoke с неопределенными явно параметрами
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
        Object[] нужныеЗначения = {
            "Текст раз", "Текст два", "Текст три", new Date()
        };

        for (Method метод : ТвойКласс.class.getMethods()) {
            if (походитПоТипамПорядкуИКоличествуПолей(метод.getParameterTypes(), нужныеЗначения)) {
                метод.invoke(экземплярНаКоторомВызываемЭтотМетод, нужныеЗначения);
                return;
            }
        }



Ещё пример (см. TreeItemMod.java метод update)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Invoke с неопределенными явно параметрами / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]