- Java BeanUtils 教程
- Java BeanUtils - 主页
- Java BeanUtils - 概述
- 动态 Bean(DynaBean)
- 背景
- 基本 DynaBean
- ResultSetDynaClass
- RowSetDynaClass
- WrapDynaBean
- 延迟加载 DynaBean
- 实用对象和类
- 实用对象和类
Java BeanUtils - 筛选或过滤集合
说明
使用*Predicate* 接口可以筛选 bean 集合(由 commons-collections 提供),该接口根据输入对象评估后返回 true 或 false 值。有一个名为 *BeanPropertyValueEqualsPredicate* 的谓词,它会根据给定的值评估设置的属性值。
语法
public BeanPropertyValueEqualsPredicate(String propertyName, Object propertyValue)
上述语法有两个参数,用于确定要评估哪个属性,以及属性的预期值是什么。它创建了一个 *Predicate*,用于评估目标对象,如果由 *propertyName* 指定的值等于由 *propertyValue* 指定的值,则返回 true;否则返回 false。
属性名称由 *org.apache.commons.beanutils.PropertyUtils* 定义,可以是简单属性、已编制索引属性、嵌套属性或映射属性。
例如,您可以筛选一个 bean 集合,其中 myCar 属性为 false
// create the closure BeanPropertyValueEqualsPredicate predicate = new BeanPropertyValueEqualsPredicate( "myCar", Boolean.FALSE ); // filter the collection CollectionUtils.filter( myCollection, predicate );
上述代码筛选了“myCollection”集合,并返回对象 myCar 属性的布尔值。
广告