Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622

Как получить содержимое строки по ее имени

30.06.2017, 11:21. Показов 3555. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется список имен строк text1, text2, text3. Строки с такими именами имеют различное содержимое.
Java
1
2
3
4
5
6
7
private List<String> lstKey = new ArrayList<String>();
        String t1 = "text1";
        String t2 = "text2";
        String t3 = "text3";
        lstKey.add(t1);
        lstKey.add(t2);
        lstKey.add(t3);
Подскажите пожалуйста как можно по имени строки получить содержимое самой строки?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.06.2017, 11:21
Ответы с готовыми решениями:

Как в JS получить содержимое HTML файла в виде строки
Здравствуйте. Как можно в JS получить содержимое HTML файла в текстовом формате. В этом примере я HTML код пишу сразу в response.end....

Как получить содержимое первой ячейки строки по которой кликнули?
Как получить содержимое первой ячейки строки по которой кликнули? Собственно таким кодом получаю все содержимое а надо только значение в...

ListBox, получить содержимое отдельной строки
ДОБРОГО ВРЕМЕНИ СУТОК ОБЬЯСНИТЕ ПОЖАЛУЙСТА ПОЧЕМУ Я ПИШУ Edit1-&gt;Text=ListBox1-&gt;Items.Text; А ОНО ПРИСВАИВАЕТ В ПОЛЕ eDIT1-&gt;TEXT все...

41
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
30.06.2017, 14:17
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от VlGuvin Посмотреть сообщение
Думаю посылать это не есть гуд...
А так хотелось то.
Дабы вас никто никуда не отсылал научитесь правильно вопрос формулировать.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
30.06.2017, 14:17
Блин, так речь идёт про "имена" и "содержимое" в XML?!...
0
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
30.06.2017, 14:20
Цитата Сообщение от Kukstyler Посмотреть сообщение
Блин, так речь идёт про "имена" и "содержимое" в XML?!...
Не не не ТС пока сам незнает. Давайте исчё часок подождём.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
30.06.2017, 14:21
Цитата Сообщение от VlGuvin Посмотреть сообщение
Как должен выглядеть этот GetVariableContentByName(var_1) ?
Насколько я знаю, это невозможно.

Если дело касается тегов в XML и их содержимого, то это совсем другая история. Тогда речь не идёт o переменных, а о парсинге текстового файла. Уже второстепенно, что за это формат.
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
30.06.2017, 14:24
Цитата Сообщение от VlGuvin Посмотреть сообщение
посылать это не есть гуд...
это не посыл, а чел искренне показал ГДЕ прочесть и освоить терминологию. Книги, как раз для вас
1
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
30.06.2017, 14:39  [ТС]
Xml здесь вообще непричем.
Еще раз:
Есть строки
Java
1
2
String s1 = "vasia"; 
String s1 = "petia";
Есть строки
Java
1
2
String petia = "Мама мыла раму";
String  vasia = "Рама мыла маму";
Как зная только имена строк petia vasia получить их содержимое, тоесть "Мама мыла раму"; "Рама мыла маму";?

Добавлено через 11 минут
Насколько я знаю, это невозможно.

Если дело касается тегов в XML и их содержимого, то это совсем другая история. Тогда речь не идёт o переменных, а о парсинге текстового файла. Уже второстепенно, что за это формат.
Спасибо. Понятно. Да, из названия ничего не выудить кроме его самого или адреса где оно расположено.
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
30.06.2017, 14:42
VlGuvin, кто хотел и мог вам помог.
Но, вы не хотите/можете применять нашу терминологию, а мы понять вашу
Опишите всю задачу целиком. Уверен, есть путь другой, который подскажут.
0
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
30.06.2017, 14:43
Java
1
2
3
4
5
String petia = "Мама мыла раму";
String  vasia = "Рама мыла маму";
 
String s1 = vasia; 
String s2 = petia;


Не по теме:

Конкурс угадай чего мне надо)

0
 Аватар для RedPatrick
143 / 115 / 61
Регистрация: 13.01.2016
Сообщений: 305
30.06.2017, 14:50
VlGuvin, Думаю, выкрутиться можно, но это из серии ректальной тонзиллектомии.
Java
1
2
3
4
String t1 = "vasya";
        String t2 = "petya";
        String executeString1 = "System.out.println(" + t1 + ");";
        String executeString2 = "System.out.println(" + t2 + ");";
У вас есть строки executeString, которые можно запустить с помощью BeanShell. Сам не пробовал, но на сайте вся документация лежит. И попробуйте поискать "execute java code from string/text".
0
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
30.06.2017, 14:51
И если и это не то, значит берём книжку открываем раздел рефлексия и ломаем мозг.

Добавлено через 1 минуту
Цитата Сообщение от RedPatrick Посмотреть сообщение
ректальной тонзиллектомии
Ору
0
51 / 51 / 23
Регистрация: 05.04.2010
Сообщений: 127
30.06.2017, 17:56
Это?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Main {
 
    public String s1 = "vasya";
 
    public String vasya = "text with condition 1";
 
    public static void main(String[] args) {
        Main main = new Main();
        Class clazz = main.getClass();
        try {
            Field fieldVasya =  clazz.getDeclaredField(main.s1);
            String value = (String) fieldVasya.get(main);
            System.out.println(value);
        } catch (Exception e) {
            e.printStackTrace();
        }
 
    }
}
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
30.06.2017, 19:22
qualls, интересно! Однако вопрос: Вам когда-либо такое было нужно, в реальной среде?

Добавлено через 2 минуты
У меня большие сомнения, что да. Но всё-же
0
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
30.06.2017, 19:31
Цитата Сообщение от Kukstyler Посмотреть сообщение
У меня большие сомнения, что да. Но всё-же
Ну настолько я знаю рефлексия используется в различных фреймворках, аннотации считывать и всё такое.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
30.06.2017, 22:59
Borsche, я в Java человек относительно новый. С понятием рефлексии знаком по наслышке, на практике повидать не приходилось (что, в принципе, не странно т.к. я из совсем другого мира программирования).
Но, я не вижу связи между Рефлексией как таковой (в её общепринятом описании: программа модифицирует сама себя, или генерирует и компилирует код на ходу и т.д.) и тем, что требовал ТС, реализацию чего любезно предоставил qualls.

Не могу понять, в какой ситуации это может понадобиться: знать название переменной (откуда, если к ней нет доступа?) (и да, именно переменной, а не сущности), и по каким-то причинам не мочь обращаться к ней напрямую, но зато хранить где-то её имя (откуда мы его получили? а если знаем где она и имеем доступ, почему не обратиться к ней самой?), что бы потом каким-то образом получить её содержимое... Очень странная архитектура приложения получается. В какого профиля софте такое может существовать? Сама идея, её ход, мне кажется абсолютно извращённым (уж простите великодушно, ТС, я без всяких издёвок).

Как я уже говорил, если бы ТС основывался на С и говорил о Pointer-ах - то тогда всё ясно. Но ведь речь шла именно о имени переменной.

Добавлено через 5 минут
Если предположить, что будет иметь место Рефлексия, и переменной с таким именем ПОКА не существует, но она будет создана... То возможно идея начинает приобретать смысл. Но в любом случае, неужели невозможно сделать всё проще (традиционнее что-ли), что бы не было нужды прибегать к таким странноватым механизмам?
0
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
30.06.2017, 23:20
Так то да. Просто ТС не знал что он хочет, тоесть как бы знал но в его голове это была походу просто куча мусора, и она вывалилась в форус где её пытались розгребти.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
30.06.2017, 23:38
Цитата Сообщение от Kukstyler Посмотреть сообщение
Не могу понять, в какой ситуации это может понадобиться
да все просто, например приходит тебе json, а ты хочешь получить из него объект. Как ты будешь это делать без рефлексии?
Задача еще проще, есть два объекта разных типов, но с похожим набором полей, надо сравнить одноименные поля.
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
01.07.2017, 01:07
xoraxax, может я чего-то не знаю. Но если не ошибаюсь, JSON всего-лишь формат текстовых данных. Судя по сказанному Вами, в данном формате можно получить и объект (предполагаю, технически это нечто вроде сериализации, или она сама). Но Вы говорите о объектах, в данном контексте идея приблизительно ясна. Непонятно зачем такое делать со стандартными/нативными переменными (атрибутами). Ведь теоретически, если всё сделано правильно, всё-равно надо проходить через "геттеры".

В любом случае, раз это возможно, наверное какое-то применение к сему механизму есть. Просто стало интересно, в каком случае это может пригодиться.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
01.07.2017, 01:52
Цитата Сообщение от VlGuvin Посмотреть сообщение
Есть имя переменной, но неизвестно ее содержимое
Что это вообще значит?

Цитата Сообщение от VlGuvin Посмотреть сообщение
Как должен выглядеть этот GetVariableContentByName(var_1) ?
Вот так:
var_1

Добавлено через 9 минут
Цитата Сообщение от xoraxax Посмотреть сообщение
да все просто, например приходит тебе json, а ты хочешь получить из него объект. Как ты будешь это делать без рефлексии?

Не по теме:

JSON
1
Напишу [S]парсер[/S]конвертер JSONObject -> MyCoolObject, ня =) // К. С.



Цитата Сообщение от Kukstyler Посмотреть сообщение
предполагаю, технически это нечто вроде сериализации, или она сама
А ты думаешь, сериализация как работает?

Цитата Сообщение от Kukstyler Посмотреть сообщение
Ведь теоретически, если всё сделано правильно, всё-равно надо проходить через "геттеры".
1) Сеттеров
2) Не надо.
3) Список сеттеров класса точно так же нужно будет получать через рефлекшн.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
01.07.2017, 16:08
korvin_, во-первых, мы с Вами вроде вместе пиво не пили, по крайней мере пока. Так что, предлагаю, всё так и начать с "Вы". Ничего личного, просто не люблю фамильярностей.
По теме. Я вроде Вас не просил устраивать мне экзаминацию. Экспертом в данной теме себя отнюдь не считаю, и соответствующих заявлений нигде не делал. Если Вы хорошо в этом разбираетесь и есть желание объяснить что-то, то лично я буду только рад. Но только говорите пожалуйста внятно. Ваше "1, 2, 3", для обычных смертных вроде меня, никакой информации не содержат (в частности: пункты 1 и 2). Лично мне пока рано только аббревиатурами оперировать.
0
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 622
03.07.2017, 09:34  [ТС]
Прошу прощения за поднятую тему.
переменной с таким именем ПОКА не существует, но она будет создана
Хотелось узнать возможно-ли в принципе такое.
Изначально вопрос возник в процессе изучения Java EE и попытке применить методику наполнения страницы текстовыми блоками похожую на PHP - чтение единого шаблона в память, замена в нем текстовых ключей на заранее подготовленные текстовые блоки находящиеся в буфере в виде переменных-строк.
Коротко:
Есть php файл содержащий ассоциативный массив текстовых ключей и переменных-строк соответствующих им, типа
PHP
1
2
3
4
$params = array(
...
'topbanner'=> $topbanner,
...
Такой файл администратов может редактировать добавляя (отнимая) пары ключей и переменных-строк.
Переменные-строки формируются и находятся в другом файле в виде
PHP
1
2
3
4
5
6
7
$topbanner=<<<topbn
 
<div>
<a href="http:/....
</div>
 
topbn;
Файл тоже редактируемый. В него администратор может добавлять (удалять) текстовые блоки.
Никак не приходило в голову как можно подобное повторить в Java. Вот и пришла идея с xml файлом и хранением в нем имен будущих (или настоящих) переменных, которые можно материализовать (если можно так выразиться).
Похоже глупая идея...
А как еще можно в Java сделать редактируемый администратором ассоциативный массив + редактируемый файл с текстовыми блоками?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.07.2017, 09:34

Получить содержимое ячейки грида по номеру строки и столбца
Собсна,знаю,что можно получить номер строки и столбца элемента в гриде,если известен объект,при помощи методов Grid.GetColumn() и...

Проблема с TListBox.Необходимо получить Index строки по имени
В мою программу закрался странный баг: при поиске в TListBox некой строки программа не хочет находить ее до того момента, пока я не ткну на...

Получить содержимое строки по содержанию переменной, но не из файла strings.xml
&quot;a&quot; это кнопка, и я задаю название кнопки. Название кнопки записано в файле strings_new.xml в строке: &lt;string...

Как получить содержимое папки?
Допустим я через диалог указываю папку, а мне,например, в комбобокс выводятся названия всех файлов в папке, а я через комбобокс запускаю...

Как получить содержимое элемента
Здравствуйте. Пожалуйста, покажите пример, как можно получить содержимое блока, например: &lt;div...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru