Если в функции, вызываемой рекурсивно с меньшими аргументами и внутри этой функции, мы создаем объект класса. Объекты, созданные рекурсивно, будут иметь одно и то же имя, поэтому мы не можем сохранить уникальность имени. Как мы можем обрабатывать такие случаи на Java?Рекурсивно вызывать функцию в Java, которая создает новые объекты
ответ
Я думаю, что этот вопрос возникает из-за недоразумений. В Java имя, которое вы даете локальной переменной, на 100% не имеет значения во время запуска кода - единственная цель для вас, программист, указать, какую переменную вы говорите (давая свое имя и имея компилятор выяснить, что вы имеете в виду, просматривая локальную область действия, область действия над ней и т. д.).
Итак, если у вас есть рекурсивный метод, который вызывает себя, и в этом методе объявляют переменные, которые хранят новые объекты, то нет никакого столкновения с Java, и все они будут правильно ссылаться на разные объекты в разных местах в памяти.
Если вы на самом деле имел в виду: «Я хочу, чтобы записать все новые объекты я делаю в моем рекурсивный метод, но у них быть отчетливо относимые к», то начните с создания коллекции (ArrayList
, например) один из параметры к вашему рекурсивному методу - тогда вы можете добавить все вновь созданные объекты в эту коллекцию, и когда он полностью вернется, он будет полон ваших вновь созданных объектов. Но если это недостаточно различает, то вам нужно спросить: «Что бы отличить эти объекты?» который будет зависеть от того, для чего предназначен объект (должен ли какой-то параметр рекурсивного метода быть частью «имени»? какое-то другое состояние? или просто нужно быть случайным и уникальным?).
Вы правы. Но искатель также хочет получить доступ к старым объектам – shiladitya
@shiladitya: где вы находите такой запрос в вопрос? –
Это то, что я сделал, иначе вопрос не имел смысла :) – shiladitya
- 1. Рекурсивно вызывать асинхронную функцию
- 2. Рекурсивно вызывать функцию в Javascript?
- 3. Как рекурсивно вызывать асинхронную функцию?
- 4. рекурсивно вызывать функцию JS, которая использует обещания (chunk write)
- 5. Как выполнить единую тестовую функцию, которая создает объекты в цикле?
- 6. Как BinaryFormatter.Deserialize создает новые объекты?
- 7. Почему IEnumerable.ToList создает новые объекты
- 8. Как рекурсивно вызывать функцию по длине списка?
- 9. PHP создает новые объекты в массиве
- 10. Как вы пишете функцию типа print_r(), которая рекурсивно печатает объекты?
- 11. C# WPF Создать функцию, которая создает новые входы
- 12. Рекурсивно вызывать анонимную функцию без использования arguments.callee
- 13. Рекурсивно вызывать одну и ту же функцию
- 14. Метод Java Repaint создает новые объекты поверх старых
- 15. вызывать функцию, которая существует в таблице
- 16. Странно, IEnumerable.ToList() создает совершенно новые объекты
- 17. Весна создает новые объекты, но не должна
- 18. Обновление объекта belongs_to ассоциации создает новые объекты
- 19. ming extensions before_insert не создает новые объекты
- 20. Рекурсивно вызывать поток Мула
- 21. Как написать программу, которая динамически создает объекты?
- 22. Зависимость инъекции в потоке, которая создает объекты
- 23. Функция конструктора, которая создает объекты окружности javascript
- 24. Рекурсивно вызывать функции в lua
- 25. Функция, которая создает объекты, имеющие глобальное имя
- 26. Рекурсивно вызывать событие C#
- 27. Невозможно вызывать рекурсивно функцию using settimeout в javascript
- 28. Как вызывать функцию javascript, которая назначается переменной?
- 29. Как рекурсивно вызывать функцию с функцией как параметр
- 30. Рекурсивно аннулировать объекты-члены в Java?
У вас есть код -example? – Maroun
Объекты не имеют имен. Переменные имеют имена, но у них также есть область. –