Groovy / Grails(指针) - 如何在List中添加对象的引用

时间:2016-07-04 07:35:12

标签: grails groovy

有人可以告诉我们如何在现实中做伪代码。我知道必须以某种方式使用指针:) 在我的例子中,我尝试做以下事情:

  1. 创建一个Foo对象
  2. 创建一个对象作为"包装器" Boo列出了Foo
  3. 将新foo添加到Boo
  4. 从第1点更新对象中的值
  5. Boo包含新值而不调用修改。
  6. 以下示例可能更容易理解

    My classes:
    Class Foo {
        public List<String> fooTest
        public setFooTest(String val) {
            this.fooTest.add(val)
        }
    }
    Class Boo {
        public List<Foo> foos
    
        public setFoos(List<Foo> foos) {
            this.foos = foos
        }
    }
    
    Program:
    def foo1 = new Foo()
    foo1.setFooTest("foo1")
    def foo2 = new Foo()
    foo2.setFooTest("foo2")
    def foo3 = new Foo()
    foo3.setFooTest("foo3")
    
    def boo = new Boo()
    boo.setFoos([foo1, foo2, foo3])
    // is now boo.foos[0].fooTest.length == 1 ["foo1"]
    
    foo1.setFooTest("new foo1")
    // now I want the boo.foos[0].fooTest.length == 2 and contain ["foo1", "new foo1"]
    
    boo.foos[0].setFooTest("very new foo1")
    
    foo1.setFooTest("very very new foo1")
    //foo1.fooTest should now cotain ["foo1", "new foo1", "very new foo1", "very very new foo1"]
    

    提前致谢! Java代码的例子(更喜欢Groovy)也不错:)

0 个答案:

没有答案