1
下面是我的課的結構:我使用Drools的規則表達式:訪問嵌套類的數據成員
public class Address {
private String street;
private int phone;
public void setStreet(String s){street = s;}
public void setPhone(int p){phone = p;}
public String getStreet(String s){return street;}
public int getPhone(){ return phone; }
}
public class Borrower {
Address adr = new Address();
public void setAddress(String s, int p) {
adr.setStreet(s);
adr.setPhone(p);
}
public Address getAddress() { return adr; }
}
Drools的表達: -
rule "Nested Address"
salience -10
when
$bo : Borrower(Address.street.equals("USA") && Address.phone != 717)
$loanApp : LoanApplication()
then
$loanApp.addFeedbackMessage(FeedbackMessages.LOCATION_NOT_US);
System.out.println("Nested Address " + $bo.adr.street + ", Nested Phone " + $bo.adr.phone);
end
上面給我的錯誤:
Unable to Analyse Expression Address.street.equals("USA"):
有人可以告訴我我做錯了什麼嗎?
任何特別的原因( 「USA」 )'而不是'==「USA」'? –