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. 容器关闭时睡眠线程会发生什么情况?