【发布时间】:2016-01-06 14:55:11
【问题描述】:
我正在尝试在 Drools 上创建规则。 我当前的代码是:
rule "Test Rule #1"
when
obj1 : MyObject ( )
map : ArrayList (size < 1) from collect ( HashMap ( values ( House ( windows = 3) ) ) ) from obj1.getHouses()
then
// Do something
end
我要做的是:检查 HashMap 中是否有任何带有 3 个窗口的房屋。如果没有// Do something。
为此,我试图访问 obj1.getHouses(),它是一个 HashMap >。然后我正在检查这个 HashMap 值,并为有 3 个窗口的房屋过滤它。
但是这段代码有问题。我收到此错误:
无法分析表达式值(House (windows = 3)): java.lang.Class 不能转换为 org.mvel2.util.MethodStub]
有人可以帮忙吗? 提前致谢。
【问题讨论】:
-
你的HashMap是什么样子的?通过此语法http://stackoverflow.com/a/9095266/3710490 访问映射值
-
我的地图是:HashMap >。但我不想搜索特定的键。我需要搜索地图的所有链接列表。该链接向我展示了如何使用键进行搜索。
-
你能发布完整的流口水
.drl文件吗?似乎某些类导入是错误的......
标签: java dictionary drools