比较drl文件中列表中的对象

时间:2017-07-19 07:37:12

标签: drools

我有一个Man类型的[man1,man2,man3,man4]等对象列表。

我需要比较4个对象,如下所示。 (man1.name == man2.name,man2.name == man3.name,man3.name == man4.name)

如何在drl中进行。我不能像这样迭代这些对象,drl正在将每个对象与所有其他对象进行比较。

1 个答案:

答案 0 :(得分:0)

鉴于Man对象的顺序很重要,我猜他们必须包含某种id或属性,允许您订购它们。如果是这种情况(我假设这个属性的名称是id),你可以尝试这些方法:

rule "Some Rule" 
when 
  $m1: Man()
  not Man(id > $m1.id)
  forall( 
    Man(name == $m1.name)
  )
then 
  //Action
end 

希望它有所帮助,