Форум программистов, компьютерный форум CyberForum.ru

Создать имя переменной из String - Android

Восстановить пароль Регистрация
 
zoleg
13 / 13 / 1
Регистрация: 10.01.2012
Сообщений: 105
11.09.2015, 16:21     Создать имя переменной из String #1
Какой хитростью решается задача создания имен переменных из стринга

Java
1
2
3
4
5
6
        do {
            i++;
            String G = "zone_"+Integer.toString(i)+"";
      //      НУЖНО ПОЛУЧИТЬ ПЕРЕМЕННЫЕ типа так;
  String pos = DataFile."+G+";
        } while(!pos.equals("") || i >= 30);
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2015, 16:21     Создать имя переменной из String
Посмотрите здесь:

string.xml Android
Android Содержимое переменной в качестве имени переменной
Android AsyncTask<String, String, String> объясните пожалуйста
String.format ошибка Android
Android string.split
Разное имя пакета и приложения Android
String Android
Android Имя layout
Android Генератор String
String-array Android
Android Преобразование string в double
Android Как узнать имя Активити?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zealot01
42 / 42 / 16
Регистрация: 24.08.2015
Сообщений: 136
Завершенные тесты: 1
11.09.2015, 17:18     Создать имя переменной из String #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
используй рефлексию
Java
1
2
3
4
5
6
7
8
9
10
11
try {
    do {
            i++;
            String G = "zone_"+Integer.toString(i)+"";
            Class<?> c = DataFile.getClass();
            Field fieldr = c.getDeclaredField(G);
            String pos=(String)fieldr.get(c)
 
        } while(!pos.equals("") || i >= 30)
} catch (NoSuchFieldException x) {
        x.printStackTrace();
Добавлено через 29 минут
Ошибочка вместо
String pos=(String)fieldr.get(c)
Надо
String pos=(String)fieldr.get(DataFile)
И это не для статического поля, для статического немного по другому

Добавлено через 12 минут
Для статичных полей вроде так
Java
1
2
3
4
5
6
7
8
9
10
11
try {
    do {
            i++;
            String G = "zone_"+Integer.toString(i)+"";
          
            Field fieldr = DataFile.class.getField(G);
            String pos=(String)fieldr.get(null)
 
        } while(!pos.equals("") || i >= 30)
} catch (NoSuchFieldException x) {
        x.printStackTrace();
zoleg
13 / 13 / 1
Регистрация: 10.01.2012
Сообщений: 105
12.09.2015, 10:37  [ТС]     Создать имя переменной из String #3
Спасибо!

Добавлено через 16 часов 48 минут
Не знаю почему, но не работает, Однако, вроде то же самое, но запустилось.
Вот так получилось для статики:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
            do {
                i++;
                String G = "poligon_zone_" + Integer.toString(i) + "";
                try {
                    polygon_from_SettingDate = (String) TetATetSettingDate.class.getField(G).get(null);
                } catch (NoSuchFieldException x) {
                    x.printStackTrace();
 
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
                debug(polygon_from_SettingDate);
            } while (!polygon_from_SettingDate.equals("") || i >= 30);
Yandex
Объявления
12.09.2015, 10:37     Создать имя переменной из String
Ответ Создать тему
Опции темы

Текущее время: 22:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru