drools条件部分之memberOf 学习

memberOf 是用来判断某个Fact 对象的某个字段是否在一个集合(Collection/Array)当

中,用法与contains 有些类似,但也有不同,memberOf 的语法如下:

Object(fieldName memberOf value[Collection/Array])
 

可以看到memberOf 中集合类型的数据是作为被比较项的,集合类型的数据对象位于

memberOf 操作符后面,同时在用memberOf 比较操作符时被比较项一定要是一个变量(绑定

变量或者是一个global 对象),而不能是一个静态值。代码清单2-12 是一个演示memberOf

使用的规则示例。

 

 

package test
global String[] orderNames;
rule "rule1"
when
$order:Order(name memberOf orderNames);
then
System.out.println($order.getName());
end
 

代码清单中被比较对象是一个String Array 类型的global 对象。

你可能感兴趣的:(drools条件部分之memberOf 学习)