【问题标题】:Drools: How to get all elements not in mapDrools:如何获取不在地图中的所有元素
【发布时间】:2014-05-21 13:45:13
【问题描述】:

我正在使用 JBoss Drools 5.5.0 规则。

我有一个ArrayList<ElementDetail>Map<String, ElementDetail>,我需要打印出 ArrayList 中的所有 ElementDetail 而不是 Map。

class ElementDetail {
    private String name;
    ...
}

ElementDetail 类有一个名称变量,它被标识为 Map 键。

到目前为止,这是我尝试过的,但它没有匹配:

...
when 
    eleList : List()
    $eleDetail : ElementDetail() from eleList
    $map: Map(myMap.keySet contains $eleDetail.getName())
...

我能够在集合中找到匹配元素的类似帖子,但它没有得到地图的不匹配元素:

【问题讨论】:

    标签: java drools


    【解决方案1】:

    好吧,你必须使用 contains 的否定形式,并且 myMap 没有被绑定。

    $eleList : List()
    $eleDetail : ElementDetail( $name: name ) from $eleList
    $map: Map( keySet not contains $name )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      相关资源
      最近更新 更多