0
A
回答
2
代表設置是否能夠存活?
如果通過「生存」,您的意思是克隆將具有相同的代表,那麼答案是「是」。
groovy:000> c = {
groovy:001> append 'Hello'
groovy:002> }
===> [email protected]
groovy:000>
groovy:000> c.delegate = new StringBuffer()
===>
groovy:000> d = c.clone()
===> [email protected]
groovy:000>
groovy:000> c.delegate
===>
groovy:000> d.delegate
===>
groovy:000> c()
===> Hello
groovy:000> c.delegate
===> Hello
groovy:000> d.delegate
===> Hello
groovy:000> d.delegate.append 'Goodbye'
===> HelloGoodbye
groovy:000> c.delegate
===> HelloGoodbye
groovy:000> d.delegate
===> HelloGoodbye
groovy:000>
根據具體情況,如果你寫它接受一個封閉的方法和你的方法是要改變封閉的狀態(如修改委託或resolveStrategy)正常的事情,那麼正確的事要做的通常是克隆閉包,然後只改變克隆中的那些屬性,使原始的一個與通過時一樣完整。
相關問題
- 1. parse4cn1關閉parse.com時會發生什麼?
- 2. 當executorservice關閉時,運行/阻塞的runnables會發生什麼()
- 3. 當我修改克隆的obj(使用{...})時,爲什麼obj會發生變異?
- 4. 當主窗口關閉時,SynchronizationContext會發生什麼?
- 5. 當瀏覽器關閉時,applet會發生什麼?
- 6. 當MySQL連接未關閉時會發生什麼?
- 7. 當我關閉選項卡時,JS ServiceWorker會發生什麼
- 8. 當公開測試再次關閉時會發生什麼
- 9. 當我們關閉腳本兩次時會發生什麼?
- 10. 當Android應用程序強行關閉時會發生什麼
- 11. git克隆是空的?爲什麼會發生這種情況
- 12. 當java中的關閉鉤子引發異常時會發生什麼
- 13. 什麼是H.450.2?當它不存在時會發生什麼?
- 14. ASP.Net的自動回發。當它太慢時會發生什麼?
- 15. Git克隆完成後會發生什麼?
- 16. 當線程在設置鎖定時關閉時會發生什麼情況
- 17. 在WPF/Prism中,當DelegateCommand.RaiseCanExecuteChanged被觸發時,CompositeCommand會發生什麼?
- 18. 與MongoDB的連接沒有關閉時會發生什麼?
- 19. 當tomcat關閉時,ExecutorService管理的線程會發生什麼情況?
- 20. 當後者關閉時,窗戶的手柄會發生什麼變化?
- 21. 當ContinueWhenAny被調用時,剩下的任務會發生什麼?
- 22. 當包含lambda的類型被分配時會發生什麼?
- 23. 當APNS中的通知被「丟棄」時會發生什麼?
- 24. 當我將任何命令連接到telnet會話時,會發生什麼情況?爲什麼會話關閉
- 25. 當獲取它的線程退出時,Mutex會發生什麼?
- 26. 窗戶關閉時運行任務會發生什麼?
- 27. 將JavaScript函數作爲變量關閉時會發生什麼?
- 28. 關閉實體框架連接時會發生什麼
- 29. ResultSet關閉時語句會發生什麼?
- 30. 容器關閉時睡眠線程會發生什麼情況?