powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с классами.
3 сообщений из 3, страница 1 из 1
Работа с классами.
    #32683820
alex-ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Объявлен класс
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
TestClass
{
   int SEQ_ID;
   int Status_ID;
   int Dep_ID;
   ......
   ....
   ..
   .
}
Есть ф-ция, которая возвращает откуда-то значение значение поля по его имени.
Код: plaintext
1.
   public static int getValueByFieldName(String FieldName)
   ...
Где-то в другом месте объявлена переменная
Код: plaintext
TestClass PersonInfo = new TestClass();

Теперь мне нужно задать переменной значения
конечно можно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
   TestClass.SEQ_ID = getValueByFieldName("SEQ_ID");
   TestClass.Status_ID = getValueByFieldName("Status_ID");
   TestClass.Dep_ID = getValueByFieldName("Dep_ID");
   ......
   ....
   ..
   .
но хотелось бы как-нибудь так
Код: plaintext
1.
2.
3.
   for (short i = 0; i < TestClass.getClass().getDeclaredFields().length; i++)
   {
      TestClass.getClass().getDeclaredFields()[i].что-нибудь.value = getValueByFieldName(TestClass.getClass().getDeclaredFields()[i].getName());
   }

Это возможно?
Если можно - то поподробнее, т.к. мой уровень в Jave = начинающий. :))

Заранее спасибо.
...
Рейтинг: 0 / 0
Работа с классами.
    #32684080
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты про это?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
import java.lang.reflect.Field;

public class Reflect {

  public static void main(String args[]) {
    try {
      ReflectClass a = new ReflectClass();
      for (int i=0; i< a.getClass().getDeclaredFields().length; i++) {
        Field f = a.getClass().getDeclaredFields()[i];
        f.setAccessible(true);
        f.set(a, "value" + i);
      }
      System.out.println(a);
    } catch (Exception e) {
      e.printStackTrace(System.err);
    }
  }
}

class ReflectClass {
  private String field1;
  private String field2;

  public String toString() {
    return "<field1>" + field1 + "</field1>" + "<field2>" + field2 + "</field2>";
  }
}
...
Рейтинг: 0 / 0
Работа с классами.
    #32684789
alex-ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да! ещё раз спасибочки.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с классами.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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