我有一个简单的问题 - 是否可以比较Drools中同一类的两个对象?如果是,我如何区分这两个对象?
答案 0 :(得分:4)
是
first : Object()
second : Object( this != first )
第一个和第二个是同一个类,但是不同的实例。
答案 1 :(得分:0)
回答您的后续行动。是的,两个对象都需要在工作内存中才能激活规则。在Toni的例子中,“first”绑定到第一个对象,“second”绑定到第二个对象(即你使用“first”来访问第一个对象)。要访问对象上的方法,可以使用mvel / java语法,如first.userId或first.getUserId()。因此,要查看WM中是否存在具有相同用户标识的两个不同对象:
when
$first : Object()
$second : Object( this != $first, userid==$first.userId )
then
...
请注意,按照惯例,您经常会看到前面带有“$”的模式绑定变量。
hth