📜  Java BeanUtils-查询或过滤集合

📅  最后修改于: 2020-11-04 07:09:06             🧑  作者: Mango


描述

可以通过使用谓词接口在commons-collection中过滤bean的集合,并在评估输入对象时提供true或false值。有一个称为BeanPropertyValueEqualsPredicate的谓词,它将根据给定值评估设置的属性值。

句法

public BeanPropertyValueEqualsPredicate(String propertyName, Object propertyValue)

上面的语法有两个参数,它们决定要评估的属性以及其预期值。它用于评价所述目标对象,并返回true,如果由propertyName的指定的值等于由指定的PropertyValue的值创建一个谓语;否则返回false。

属性名称由org.apache.commons.beanutils.PropertyUtils定义,并且可以是简单的,索引的,嵌套的或映射的。

例如,您可以过滤myCar属性为false的bean集合:

// create the closure
BeanPropertyValueEqualsPredicate predicate = new BeanPropertyValueEqualsPredicate( "myCar", Boolean.FALSE );
    
// filter the collection
CollectionUtils.filter( myCollection, predicate );

上面的代码过滤“ myCollection”集合,并返回对象的myCar属性的布尔值。