Grails的getter方法是返回属性对象的COPIES还是属性对象本身?

时间:2013-05-02 11:35:58

标签: grails groovy

例如:

class Person {
  def stuff
}

class Toilet {
  public void main(String... args){
      Person person = new Person()
      person.getStuff()  //null, but you get my point
  } 
}

getStuff()是否会返回stuff的副本?还是stuff本身? 我担心返回的stuff对象的可修改性

2 个答案:

答案 0 :(得分:3)

Groovy(由Grails使用)返回对象本身,但仅用于对象(defObjectPerson等)。您可以修改此对象。

原语的副本(intlong等)。

与Java相同。

答案 1 :(得分:1)

它返回东西本身,除非你在getter中做一个显式拷贝并返回这个副本。 无论如何,Java(以及Groovy)都没有通用的方法来制作一个对象的副本。