有没有办法在对象实例化过程中让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