我有对象列表Person。对象人包含对象列表Car。我如何只从列表中选择thoose人,谁包含汽车选择类型。对于exmplain:汽车品牌“宝马”。我不知道没有for循环。
person[0].addCar(new Car("BMW"));
person[0].addCar(new Car("Ford"));
person[1].addCar(new Car("Ford"));
person[1].addCar(new Car("Ford"));
person[1].addCar(new Car("Ford"));
如何在drools-regulations中返回人[0]。
我的代码不起作用。
rule "HardDrool"
salience 100
when
$world : World();
$persons: Human(
(name == "Yura"),
(!cars.isEmpty()),
(Car(name == "BMW") from getCars())
) from $world.getPersons()
then
System.out.println($persons);
end
答案 0 :(得分:0)
rule "HardDrool"
when
$world : World();
$person: Human( name == "Yura", !cars.isEmpty() )
from $world.getPersons()
exists Car( name == "BMW" ) from $person.getCars())
then
System.out.println( $person );
end
对于每个拥有至少一辆宝马的人来说,这应该开一次。如果你想看到每辆宝马,请省略存在。