Доброго времени суток! На днях озадачился вопросом: как можно сделать вызов метода через другую переменную? То есть, например, пользователь вводит строку с именем метода, а я его должен вызвать. Видел (вроде бы) что-то подобное в JavaScript при присвоении переменной функции. Прошу помочь, заранее спасибо.
Это можно сделать с помощью Reflection - http://java.sun.com/docs/books/tutorial/reflect/member/methodInvocation.html
Например, для класса с именем "my class", найдем метод "my method" с параметрами parameterTypes
. И далее вызовем его для объекта objectToInvokeOn
c параметрами params
:
// Находим класс
Class<?> c = Class.forName("class name");
// Находим метод
Method method = c.getDeclaredMethod ("method name", parameterTypes)
// Вызываем метод для объекта
method.invoke (objectToInvokeOn, params)
Можно и простой найти метод для известного объекта:
Method method = myObject.getClass().getMethod("method name", parameterTypes);
method.invoke(myObject, params);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть класс Worker который содержит в себе очередь и при добавлении в очередь новой строки должен выполнить некую работу
Я так думаю, что тратятся: и кнопки создаются, неважно gone они или visible, или вообще находятся вне области экрана, и картинки загружаются? Правильно...
Здравствуйте, вот суть моей проблемы, есть несколько коллекций: