如果您要添加的内容与谓词不匹配,Apache Commons Collections中是否有一种方法可以使PredicatedList(或类似内容)不引发IllegalArgumentException?如果不匹配,它将忽略将项添加到列表的请求。
因此,例如,如果我这样做:
List predicatedList = ListUtils.predicatedList(new ArrayList(), PredicateUtils.notNullPredicate());
...
predicatedList.add(null); // throws an IllegalArgumentException
我希望能够执行上述操作,但是会忽略添加null而不会引发任何异常。
我不能从JavaDocs弄清楚Commons Collections是否支持这一点。我想尽可能地做到这一点,而无需滚动自己的代码。
最佳答案
你不能就吞下例外吗?
try
{
predicatedList.add(null);
}
catch(IllegalArgumentException e)
{
//ignore the exception
}
您可能需要写一个包装器来为您做这件事...