首页 > 解决方案 > 将对象与java中的前一个实例进行比较

问题描述

我正在尝试传递一个对象说 Order ,它会检查其先前的值并更新一个字段。

订单(orderId,item_id,数量,价格,discount_type,discount_amount)

因此,我第一次获得值为 Order("o1", "i1", 1, 100, null, null) 的订单数据。

第二条记录我将获得相同订单的详细信息 Order("o1", "i1", 2, 200, null, null)。

当我处理第二个订单时,我想用值 Order("o1", "i1", 2, 150, "discountType1", 50(calculate the value prev_price - curr_price)) 更新 Order 对象。

我正在尝试创建一个 drools 应用程序,我想在其中发送一个 Order 对象,其中包含当前和以前的值,并使用 java 在 drools xsl 文件中应用规则。

有人可以帮助我如何在一个对象中设置 order 的当前和以前的实例值。

标签: javacomparedrools

解决方案


如果你用谷歌搜索“java 对实现”,你会得到很多可行的方法。
Java Pair<T,N> 也是一个关于 SO 的讨论,它讨厌关闭(我们这里有很多)。
如果您只有很少的规则来处理配对比较,那么通用类就足够了,如果您有更多可能会变得更复杂的规则,我会从常见的“配对”扩展以赋予您的配对以保持业务意义考虑到可支持性。如果您希望在每个字段的基础上应用一些逻辑,您应该检查并比较规则中的每个字段。


推荐阅读