- Java BeanUtils 教程
- Java BeanUtils - 主页
- Java BeanUtils - 概述
- 动态 Bean (DynaBeans)
- 背景
- 基本 DynaBeans
- 结果集动态类
- 行集动态类
- 包装DynaBean
- 惰性 DynaBeans
- 实用对象和类
- 实用对象和类
- Java BeanUtils 有用资源
- Java BeanUtils - 快速指南
- Java BeanUtils - 资源
- Java BeanUtils - 讨论
Java BeanUtils - 查询或过滤集合
描述
可以使用接口Predicate在 commons-collections 中过滤 beans 的集合,并且还可以在输入对象的评估上提供 true 或 false 值。有一个名为BeanPropertyValueEqualsPredicate的谓词,它将根据给定值评估设置的属性值。
句法
public BeanPropertyValueEqualsPredicate(String propertyName, Object propertyValue)
上面的语法有两个参数,它们决定要评估什么属性以及它的期望值应该是什么。它创建一个Predicate来评估目标对象,如果propertyName指定的值等于propertyValue指定的值,则返回 true ;否则返回 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 属性的布尔值。