假设我有一个对象:
def user = User.get(someId)
现在我要执行以下操作:
myFunction(user.id)
user.delete(flush: true)
myFunction是否为call-by-value的参数,即该函数是否仅获取user.id的值而不是参考值?
如果在myFunction完成之前删除了用户该怎么办?值user.id在myFunction中仍然可用吗?
答案 0 :(得分:2)
要回答这个问题,您需要了解构建框架的语言,在本例中为Groovy & Java
。
知道它是easy to find解释语言如何运作的文档(请注意,尽管标题是第一段解释的是“按值传递”)。
here这是一个更详细的解释。