JBoss通过传递密钥来检查HashMap的值

时间:2014-02-13 06:37:58

标签: java drools

有没有办法可以通过传递密钥在“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”。

我希望问题很明确。

1 个答案:

答案 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}}让它直接工作。