如果在函數中以較小的參數遞歸調用,並且在此函數內部,我們正在創建一個類的對象。遞歸創建的對象將具有相同的名稱,因此我們無法保留名稱唯一性。我們如何在Java中處理這種情況?在Java中遞歸調用創建新對象的函數
回答
我認爲這個問題源於誤解。在Java中,您給本地變量的名稱在代碼運行時是100%無關緊要的 - 唯一的目的是讓程序員指定您正在討論的變量(通過提供其名稱並使編譯器通過查看本地範圍,它上面的範圍等來弄清楚你的意思)。所以,如果你有一個自我調用的遞歸方法,並且在這個方法中聲明瞭包含新對象的變量,那麼就Java而言就不會有衝突,並且它們都將正確地引用不同的地方的不同對象在記憶中。
如果你實際上意味着「我要記錄所有新對象我使我的遞歸方法,而是讓他們有明顯的賠償與」,然後通過使集合(ArrayList
爲例)啓動的一個參數傳遞給你的遞歸方法 - 然後你可以添加所有新創建的對象到這個集合中,當它完全返回時,它將充滿你新創建的對象。但是,如果這還不夠明顯,那麼你需要問'什麼可以區分這些物體?'這將取決於對象的用途(遞歸方法的某些參數應該是「名稱」的一部分嗎?還有其他一些狀態?還是隻需要是隨機的和唯一的?)。
你是對的,但提問者也想訪問舊對象 – shiladitya 2013-04-20 14:28:59
@shiladitya:你在哪裏找到這樣的請求問題? – 2013-04-20 14:29:51
這就是我推斷。否則這個問題沒有意義:) – shiladitya 2013-04-20 14:30:46
- 1. 遞歸創建對象
- 2. 新類對象創建Java java.lang.StackOverflowError:可能的遞歸?
- 3. 遞歸函數沒有完全遞歸對象/子對象
- 4. 在堆(Java)上創建對象之後調用對象的構造函數嗎?
- 5. 調用自己創建的沒有對象的java函數?
- 6. Java遞歸,用對象調用它 - 如何複製對象?
- 7. 在AngularJS中遞歸調用函數
- 8. 在std :: function中調用遞歸函數
- 9. 合併3D對象的遞歸函數
- 10. 遞歸函數創建數組
- 11. 如何在java中的遞歸函數中創建一個數組
- 12. 在遞歸函數中不會調用回調函數
- 13. 使用遞歸重新創建過濾器()函數
- 14. 遞歸函數來遍歷對象
- 15. 走對象鏈遞歸函數式
- 16. 遞歸函數來代替JSON對象
- 17. 的try-catch放置在一個Java的遞歸函數調用
- 18. 在javascript中調用原型函數而不創建對象
- 19. 如何創建遞歸超時函數
- 20. MATLAB - 創建匿名函數遞歸
- 21. 幫助創建遞歸函數C#
- 22. 在遞歸函數中保留對象引用
- 23. 每次在java中調用構造函數時是否創建對象?
- 24. Java,創建和修改作爲參數傳遞給新對象的構造函數的對象
- 25. 在Java中實現遞歸lambda函數
- 26. operator()括號是否在函數調用中創建的對象上調用?
- 27. 在Angular動態創建的對象上調用jQuery函數
- 28. 將對象傳遞給函數調用中的函數
- 29. 在PODAM 7.0.0中創建遞歸對象時PodamMockeryException
- 30. 在javascript中搜索json對象的遞歸函數
您是否有代碼例如? – Maroun 2013-04-20 14:25:59
對象沒有名字,變量有名字,但它們也有一個作用域 – 2013-04-20 14:28:38