有沒有辦法在對象實例化過程中讓groovy忽略地圖中的額外屬性?例如:Groovy - 在對象實例化過程中忽略地圖中的額外屬性
class Banana{
String name
}
def params = [name:'someGuy', age:13]
new Banana(params)
在此示例中,常規引發一個沒有這樣的屬性:年齡異常(顯然是因爲年齡未在香蕉類中定義沒有求助於僅手動映射從地圖所需的屬性給構造。香蕉類的,有沒有辦法告訴香蕉忽略額外的屬性?
我注意到,Grails領域類不存在這個問題,我也喜歡這裏的相同的行爲!
感謝你的幫助和建議!
很明顯,你必須確保你的PARAMS映射不包含鍵'class'或'metaClass',或例外/怪事將接踵而至;-) – 2012-04-18 08:17:51
謝謝你 - 我喜歡這個Grails的特性,我希望它不是通過巧妙的技巧,而是一種語言功能。好吧。你的解決方法應該可以做到這一點,謝謝! – Quad64Bit 2012-04-18 11:40:13