2011-07-13 27 views
0

我有一個快速問題 - 是否可以比較Drools中同一類的兩個對象?如果是的話,我如何區分這兩個對象?在JBoss Drools中比較同一類的對象

+0

請給出你的問題的更多細節。兩個對象是否都被置入工作記憶?或者它們是否包含在另一個已經被認定爲工作記憶的對象中。 – Perception

回答

4

是的。

first : Object() 
second : Object(this != first) 

第一個和第二個屬於同一個類,但是不同的實例。

0

回答您的後續問題。是的,兩個對象都需要在工作內存中才能激活規則。在Toni的例子中,「第一個」綁定到第一個對象,「second」綁定到第二個對象(即,您將使用「first」訪問第一個對象)。要訪問對象上的方法,可以使用像first.userId或first.getUserId()這樣的Mvel/Java語法。因此,看看是否有WM兩個不同的對象使用相同的用戶名:

when 
    $first : Object() 
    $second : Object(this != $first, userid==$first.userId) 
then 
... 

注意,按照慣例,你會經常看到用「$」如上前綴模式綁定變量。

hth