在groovy中使用map构造函数时,setter的触发顺序是什么
在Groovy中,当我调用映射构造函数时,例如在groovy中使用map构造函数时,setter的触发顺序是什么,groovy,constructor,setter,Groovy,Constructor,Setter,在Groovy中,当我调用映射构造函数时,例如 new Player(name:'Lionel', surname:'Messi', number: 10, team:barcelona) 如何知道调用属性设置器的顺序 我需要知道这一点,因为我需要在一些setter中应用某些逻辑,并且我需要知道调用每个setter时将在对象中设置哪些数据。使用快速脚本,它们似乎是按照传递的顺序设置的: class Foo { def settersCalled = [] def setFoo(
new Player(name:'Lionel', surname:'Messi', number: 10, team:barcelona)
如何知道调用属性设置器的顺序
我需要知道这一点,因为我需要在一些setter中应用某些逻辑,并且我需要知道调用每个setter时将在对象中设置哪些数据。使用快速脚本,它们似乎是按照传递的顺序设置的:
class Foo {
def settersCalled = []
def setFoo(foo) { settersCalled << 'foo' }
def setBar(bar) { settersCalled << 'bar' }
def setBaz(baz) { settersCalled << 'baz' }
}
assert new Foo(foo: 0, bar: 0, baz: 0).settersCalled == ['foo', 'bar', 'baz']
assert new Foo(bar: 0, foo: 0, baz: 0).settersCalled == ['bar', 'foo', 'baz']
assert new Foo(baz: 0, bar: 0, foo: 0).settersCalled == ['baz', 'bar', 'foo']
class-Foo{
def settersCalled=[]
def setFoo(foo){settersCalled