|
|
|
reflection.field
|
|||
|---|---|---|---|
|
#18+
вопрос иакой ... подключаю клас и пытаюсь изменить значение его поля обственно код try { Class obj=Class.forName("com.Obj");//мой класс Field field = obj.getDeclaredField("str"); field.setAccessible(true); field.set(obj, "newValue"); //System.out.println("ok" ); } catch (Exception e) {e.printStackTrace(System.err); } на что вылетает ошибка java.lang.IllegalArgumentException at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:37) at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:57) at java.lang.reflect.Field.set(Field.java:656) at test.Main.<init>(Main.java:17) at test.Main.main(Main.java:37) сам клас Obj package com; public class Obj { public Obj() { str = "string"; } public String str; } //++++++++++++++++++ хелп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 06:04:55 |
|
||
|
reflection.field
|
|||
|---|---|---|---|
|
#18+
Dr_Noвопрос иакой ... подключаю клас и пытаюсь изменить значение его поля обственно код Да ну? А у какого класса ты пытаешься изменить значение поля? И что ты хочешь вообще сделать таким "подключением". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 13:40:55 |
|
||
|
reflection.field
|
|||
|---|---|---|---|
|
#18+
я хочу подключить этот класс.... >...Да ну? А у какого класса ты пытаешься изменить значение поля? у классаа obj естественно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 16:01:52 |
|
||
|
reflection.field
|
|||
|---|---|---|---|
|
#18+
Dr_Noя хочу подключить этот класс.... >...Да ну? А у какого класса ты пытаешься изменить значение поля? у классаа obj естественно То, что ты пытаешься сделать (если бы сделал правильно, вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. Еще раз — что ты пытаешься сделать с помощью Reflections? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 16:24:40 |
|
||
|
reflection.field
|
|||
|---|---|---|---|
|
#18+
хочу сделать чтото типа плагинов..... поэтому раз заранее не известно какой клас есть а какого нет то придёться использовать рефлект....... а тепер др вопрос а как получить это поле System.out.println( field.get(obj.newInstance())); возвращает название типа а не само его значение.... как вернуть значение???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 17:56:58 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34882935&tid=2144280]: |
0ms |
get settings: |
21ms |
get forum list: |
23ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
56ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 392ms |
| total: | 585ms |

| 0 / 0 |
