当前位置: 首页 > 知识库问答 >
问题:

Drools:如何迭代列表并添加到另一个列表

嵇丰
2023-03-14

我试图迭代一个ArrayList并使用规则中的jboss drools添加到另一个ArrayList。

Class DroolsPojo{
   List<String> answers;

   //getters and setters
}

我的规则如下。

rule "rule1"
when 
   dpojo:DroolsPojo(answers!=null)
then
    List list = dpojo.getAnswers();
    //want to iterate the list here
end

用口水怎么做?

共有1个答案

濮赤岩
2023-03-14

所以规则只需在answers实例变量不为空时触发?使用方言mvel,类似这样的方法应该会起作用:

package drools.xxx
dialect "mvel"

import drools.xxx.DroolsPojo

rule "rule1"
when 
    $dpojo : DroolsPojo(answers!=null)
    $answersWithoutEmptyStrings : List() from collect ( String(length > 0) from $dpojo.answers )
then
    insert($answersWithoutEmptyStrings)
end

这里我在when子句中执行collect(迭代)。

 类似资料:
  • 问题内容: 我知道在迭代列表时不允许删除元素,但是在迭代时允许将元素添加到python列表中。这是一个例子: 我已经在我的代码中尝试过了,它似乎可以正常工作,但是我不知道是否是因为我很幸运,将来它会折断吗? 编辑:我不愿复制列表,因为“ myarr”很大,因此会太慢。另外,我需要使用“ somecond()”检查附加对象。 编辑:在某些时候“ somecond(a)”将为假,因此不能有无限循环。

  • 我在从一个表中插入一个列的值作为另一个表中的列时遇到了麻烦。我在col1中有一些值的表A:和另一个列等于col1值的表B。 我想把表A,col1中的其余值添加为表B中的列。请帮助我解决我的问题。我正在使用SQL server 2012。

  • 我有一个活动选项卡的自动播放选项卡类current,这意味着当选项卡是活动的时,列表项有一个名为current的类。 现在我要向第一个子 添加不同的类 null null

  • 在PostgreSQL中,我想使用SQL语句合并两列并从中创建一个新列。 我正在考虑使用concat(…) ,但有更好的方法吗<最好的方法是什么?

  • 问题内容: 我试图了解获取列表的内容并将其附加到另一个列表是否有意义。 我通过循环功能创建了第一个列表,该列表将从文件中获取特定行并将其保存在列表中。 然后使用第二个列表保存这些行,并在另一个文件上开始新的循环。 我的想法是在for循环完成后获取列表,将其转储到第二个列表中,然后开始一个新的周期,将第一个列表的内容再次转储到第二个列表中,但追加它,因此第二个列表将我循环中创建的所有较小列表文件的总