Скажем, например, я хочу повторить строку кода
Integer int1 = new Integer(value1);
для многих переменных, например от int1 до int100. Я не спрашиваю конкретно об этой конкретной задаче - я спрашиваю о любой такой ситуации, когда код будет идентичным, за исключением замены мелких деталей, таких как int1 и value1, на int2, value2. Есть ли способ заставить JVM выполнить это за меня?
Я даже не уверен, какой подход выбрать для этого или какой термин искать дополнительную информацию. Единственное, что я могу попробовать, это вместо того, чтобы набирать «int1», иметь цикл, который изменяет строку, содержащую имя, и пытается передать строку как символ в JVM, но это, конечно, не работает.
В программировании, если вы когда-нибудь захотите создать много переменных одного и того же типа, вам следует немедленно подумать об использовании массива, списка, набора, карты или другой структуры данных, представляющей набор элементов. При таком шаблоне именования, как valueX
, где X
заменяется возрастающими числами, идеальным выбором будет массив или список. Это та же идея, что если вы обнаружите, что пишете один и тот же код снова и снова, вы должны немедленно рассмотреть возможность использования цикла или создания метода, в зависимости от контекста.
Это был немного странный вопрос, и я не знаю, правильно ли я понял ваш смысл или нет. Но в данном конкретном случае вместо повторения кода можно использовать структуру данных, например массив. См. учебник по Oracle.
int[] numvar = new int[arr.length];
for (int i = 0; i < args.length; i++) {
int someNumber = Integer.parseInt(args[i]);
numvar[i] = someNumber;
}
Как насчет случая, когда мне нужно 100 переменных с индивидуальными именами (по какой-то произвольной причине) вместо массива? Кроме того, спасибо, что не обращаетесь со мной как с младенцем. Я ценю время, которое вы потратили, чтобы помочь мне.
@JLDoucet Трудно представить правдоподобный сценарий, в котором вам нужно было бы сделать такую вещь, где вместо этого нельзя было бы использовать массив/список или карту (также известную как словарь), вероятно, с циклом или каким-либо другим динамическим подходом для создания объекты. Тем не менее, Java не предоставляет ничего в языке для генерации переменных, имена которых также генерируются по какому-то шаблону. Конечно, вы можете написать сценарий (на другом языке, в какой-нибудь функции IDE или даже в другой Java-программе), который напишет ваш код за вас.
По этой причине в Java у нас есть Collections. т.е. Списки, массивы, карты и т. д. Вы можете поместить все значения в список и все целые числа в другой список. Это также должно помочь: stackoverflow.com/questions/8631935/…