Mvel 表达式在 Drools 中不起作用

Mvel expression not working in Drools

我在 Drools LHS 中有以下 Java 规则:

Policy(((Person)contacts.get(0)).getHouseHold() == null)

这行得通。我期待我可以将其更改为这样的 mvel 表达式:

Policy(contacts[0]#Person.houseHold == null)

或者这个:

Policy((contacts[0])#Person.houseHold == null)

甚至这个:

Policy(((contacts[0])#Person).houseHold == null)

然而,当我编译 drools 规则时出现以下错误:

mismatched input '#' in rule "Rule1"

我的 mvel 表达式有什么问题?

这个有效:

$contact: contacts[0], $contact#Person.houseHold == null

我想 mvel 或 drools 无法直接处理列表元素的类型转换。