我想合并使用相同构造函数创建的两个记录。
记录A使用字段a,b,c
的值进行初始化,而记录B仅使用foo
的值进行初始化。
构造函数具有所有字段的默认值,因此两个记录都以a,b,c,foo
作为字段。
现在我想合并记录B"在"之上A(例如新记录)将包含来自A的a,b,c
和来自B的foo
。
实际发生的是,B完全覆盖A中的值(诚然,这听起来合乎逻辑)。
是否有一种已知/简便的方法来合并记录,不包括默认值?我正在考虑编写一个识别构造函数的函数,从配置文件中找到默认值,并且有一些逻辑来排除默认值,但这听起来容易出错(如何在默认值和值之间进行区分)是合法的,但与默认值完全相同?)。
此外,我正在使用现有的代码库,并希望尽可能减少更改。
答案 0 :(得分:1)
我想你想要<div id=services> <p1>Services</p1>
<div id="test"></div>
</div>
docs
将一个方法从A类和B类中挂起来暴露自定义合并逻辑甚至是有意义的。这将允许您更容易地识别默认值(因为可能它们将在范围内)以及提供方便的访问。
用法看起来像:
mergeWith