11

将 commons-collection 从3.2.2升级到4.1后,我在比较 BeanPredicate 和 EqualsPredicate 的集合时遇到问题。BeanPredicate 来自 commons-beanutils jar,EqualsPredicate 来自 commons-collection.jar。

BeanPredicate namePredicate = new BeanPredicate(propertyName, new EqualPredicate("someString"));

根据最新的 commons-collection jar 4.1 ,EqualsPredicate 构造函数接受参数化类型,如

public EqualPredicate(T object)
{
 this(object, null);
}

不是 3.2.2 中的对象

public EqualPredicate(Object object)
{
this.iValue = object;
}

BeanPredicate 没有像<T>它的构造函数那样的参数化类型,这就是为什么我遇到编译问题并且无法在这两个谓词之间建立关系的原因。我看到最新的 commons-beanUtils 1.9.3 BeanPredicate jar 也有 BeanPredicate 构造函数没有参数化。我也尝试输入类型,但它不起作用。如何解决此问题将不胜感激。

4

0 回答 0