如果在函數中以較小的參數遞歸調用,並且在此函數內部,我們正在創建一個類的對象。遞歸創建的對象將具有相同的名稱,因此我們無法保留名稱唯一性。我們如何在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. 遞歸創建對象
- 3. 新類對象創建Java java.lang.StackOverflowError:可能的遞歸?
- 4. 對象與遞歸函數
- 5. Java的遞歸函數調用失敗
- 6. 創建分層JSON對象的遞歸函數?
- 7. 遞歸函數沒有完全遞歸對象/子對象
- 8. 如何傳遞對象的動態創建函數調用
- 9. 在堆(Java)上創建對象之後調用對象的構造函數嗎?
- 10. 創建對象和函數調用
- 11. 調用自己創建的沒有對象的java函數?
- 12. bash函數在遞歸調用時是否創建自己的新實例?
- 13. Java遞歸,用對象調用它 - 如何複製對象?
- 14. 遞歸函數使用Joomla db對象
- 15. 在函數調用中創建的對象也可以通過引用傳遞?
- 16. 樹java的遞歸創建
- 17. 遞歸調用函數返回的對象
- 18. 在std :: function中調用遞歸函數
- 19. 在AngularJS中遞歸調用函數
- 20. 合併3D對象的遞歸函數
- 21. 創建樹的遞歸函數
- 22. 遞歸函數調用
- 23. SML遞歸調用函數
- 24. 遞歸函數創建數組
- 25. 從對象列表中遞歸創建對象樹結構
- 26. 遞歸調用lua中的函數
- 27. 遞歸中函數的很多調用
- 28. 如何在java中的遞歸函數中創建一個數組
- 29. TypeError:'int'對象不能被遞歸函數調用
- 30. 遞歸函數來創建一個新的多維數組
您是否有代碼例如? – Maroun 2013-04-20 14:25:59
對象沒有名字,變量有名字,但它們也有一個作用域 – 2013-04-20 14:28:38