Есть ли способ выполнить много подобных задач в Java?

Скажем, например, я хочу повторить строку кода

Integer int1 = new Integer(value1);

для многих переменных, например от int1 до int100. Я не спрашиваю конкретно об этой конкретной задаче - я спрашиваю о любой такой ситуации, когда код будет идентичным, за исключением замены мелких деталей, таких как int1 и value1, на int2, value2. Есть ли способ заставить JVM выполнить это за меня?

Я даже не уверен, какой подход выбрать для этого или какой термин искать дополнительную информацию. Единственное, что я могу попробовать, это вместо того, чтобы набирать «int1», иметь цикл, который изменяет строку, содержащую имя, и пытается передать строку как символ в JVM, но это, конечно, не работает.

По этой причине в Java у нас есть Collections. т.е. Списки, массивы, карты и т. д. Вы можете поместить все значения в список и все целые числа в другой список. Это также должно помочь: stackoverflow.com/questions/8631935/…

Syed Aqeel Ashiq 15.02.2023 09:00

В программировании, если вы когда-нибудь захотите создать много переменных одного и того же типа, вам следует немедленно подумать об использовании массива, списка, набора, карты или другой структуры данных, представляющей набор элементов. При таком шаблоне именования, как valueX, где X заменяется возрастающими числами, идеальным выбором будет массив или список. Это та же идея, что если вы обнаружите, что пишете один и тот же код снова и снова, вы должны немедленно рассмотреть возможность использования цикла или создания метода, в зависимости от контекста.

Slaw 15.02.2023 09:16
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
2
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это был немного странный вопрос, и я не знаю, правильно ли я понял ваш смысл или нет. Но в данном конкретном случае вместо повторения кода можно использовать структуру данных, например массив. См. учебник по 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 15.02.2023 09:25

@JLDoucet Трудно представить правдоподобный сценарий, в котором вам нужно было бы сделать такую ​​​​вещь, где вместо этого нельзя было бы использовать массив/список или карту (также известную как словарь), вероятно, с циклом или каким-либо другим динамическим подходом для создания объекты. Тем не менее, Java не предоставляет ничего в языке для генерации переменных, имена которых также генерируются по какому-то шаблону. Конечно, вы можете написать сценарий (на другом языке, в какой-нибудь функции IDE или даже в другой Java-программе), который напишет ваш код за вас.

Slaw 15.02.2023 11:20

Другие вопросы по теме