有没有办法可以通过传递密钥在“when”块中检查HashMap的值。
类似的东西(可能不是实际的方式)
rule "checkHM"
when
$account : Account( hm.get("A") == "B")
then
System.out.println("HashMap has value B" );
end
这里Account是一个类,hm是这个类中的HashMap。 hm的键/值对为“A”/“B”。
我希望问题很明确。
答案 0 :(得分:2)
它应该像
一样工作rule "checkHM"
when
$account : Account( hm[ "A" ] == "B" )
then
System.out.println( "HashMap has value B" );
end
PS get()
与HashMap可能不起作用的原因可能是由于Drools期望事实遵循JavaBeans标准,因此该方法需要{{} 1}}让它直接工作。