描述
可以使用接口 Predicate 在commons-collections中过滤bean的集合,并在评估中提供true或false值一个输入对象.有一个名为 BeanPropertyValueEqualsPredicate 的谓词,它将根据给定值评估set属性值.
语法
public BeanPropertyValueEqualsPredicate(String propertyName,Object propertyValue)
上面的语法有两个参数,它决定了要评估的属性以及它的预期值.它创建一个 Predicate 用于评估目标对象,如果 propertyName 指定的值等于 propertyValue 指定的值,则返回true;否则它返回false.
属性名由 org.apache.commons.beanutils.PropertyUtils 定义,可以是简单的,索引的,嵌套的或映射.
例如,您可以过滤myCar属性为false的bean集合:
//创建闭包 BeanPropertyValueEqualsPredicate谓词= new BeanPropertyValueEqualsPredicate("myCar",Boolean.FALSE); //过滤集合 CollectionUtils.filter(myCollection,predicate);
上面的代码过滤'myCollection'集合并返回对象的myCar属性的布尔值.