Как я могу вызвать метод объекта, используя Reflection API? - PullRequest
2 голосов
/ 05 мая 2010

Как вызвать метод (например, сеттер внутри класса объекта) для уже существующего объекта с использованием отражения Java?

Ответы [ 4 ]

3 голосов
/ 05 мая 2010

Вот способ:

Object yourObject = ...;
Class clazz = yourObject.getClass();
Method setter = clazz.getMethod("setString", String.class); // You need to specify the parameter types
Object[] params = new Object[]{"New String"};
setter.invoke(this, params); // 'this' represents the class from were you calling that method.
// If you have a static method you can pass 'null' instead.
3 голосов
/ 05 мая 2010

У вас есть отличный учебник ЗДЕСЬ .

1 голос
/ 05 мая 2010
0 голосов
/ 05 мая 2010

Вы можете сделать это,

Class cls = obj.getClass();
Method m = cls.getMethod("yourMethod", String.class); // assuming there is a method of signature yourMethod(String x);
m.invoke(obj, "strValue");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...