Groovy Beans讓你直接訪問字段。您不必定義getter/setter方法。它們會爲您生成。無論何時訪問bean屬性,getter/setter方法都會在內部調用。您可以使用。@運算符繞過此行爲。看下面的例子:
class Person {
String name
Address address
List<Account> accounts = []
}
class Address {
String street
Integer zip
}
class Account {
String bankName
Long balance
}
def person = new Person(name: 'Richardson Heights', address: new Address(street: 'Baker Street', zip: 22222))
person.accounts << new Account(bankName: 'BOA', balance: 450)
person.accounts << new Account(bankName: 'CitiBank', balance: 300)
如果你不處理集合,你可以簡單地調用你想訪問的字段。
assert 'Richardson Heights' == person.name
assert 'Baker Street' == person.address.street
assert 22222 == person.address.zip
如果要訪問集合中的一個領域,你必須選擇元素:
assert 'BOA' == person.accounts[0].bankName
assert 300 == person.accounts[1].balance
這或多或少是我現在正在做的,但你的方式更清潔! – 2011-03-30 17:03:14
對不起,唐,早就應該接受你的回答(當我不知道我在這個網站上做了什麼)。謝謝... – 2013-03-26 16:33:32
注意:我測試了這些,Eval比我的系統上的標記版本慢得多。 – 2017-05-24 00:23:21