Например, в PHP:
<?php $a = 'hello'; $$a = 'world'; echo $hello; // Prints out "world" ?>
Мне нужно создать неизвестное количество HashMaps на лету (каждый из которых помещается в массив). Скажите, пожалуйста, есть ли более простой или более ориентированный на Java способ. Спасибо.
Лучшее, что вы можете сделать - это иметь HashMap из HashMaps. Например:
Map<String,Map<String,String>> m = new HashMap<String,Map<String,String>>(); // not set up strings pointing to the maps. m.put("foo", new HashMap<String,String>());
Нет. Вы бы сделали что-то вроде
List<Map<String,String> myMaps = new ArrayList<Map<String,String>>()
и тогда в вашем цикле вы должны сделать:
Map<String,String> newMap = new Hashtable<String,String>(); //do stuff with newMap myMaps.add(newMap);
Java не поддерживает то, что вы только что сделали в PHP.
Чтобы сделать что-то похожее, вы должны просто сделать List<Map<>> и сохранить там свои HashMap. Вы можете использовать HashMap из HashMaps.
List<Map<>>
HashMap
HashMaps
«Переменная переменная» в Java - это массив или список или какая-то структура данных с переменным размером.
Вы не можете!
Прямого пути к этому нет. Массивы, отражения и т. Д. Могут помочь.
Это не вызванные переменные переменные в Java.
Это называется отражением.
Для получения подробной информации посмотрите документацию пакета java.lang.reflect.
Вы можете делать все подобные вещи, используя отражение.
Bestoes
JRH.