我正在使用 google-collections 并试图找到满足 Predicate 的第一个元素,如果不是,则返回“null”。
不幸的是,当没有找到元素时,Iterables.find 和 Iterators.find 会抛出 NoSuchElementException。
现在,我被迫做
Object found = null;
if ( Iterators.any( newIterator(...) , my_predicate )
{
found = Iterators.find( newIterator(...), my_predicate )
}
我可以用“try/catch”包围并做同样的事情,但对于我的用例,我会遇到很多找不到元素的情况。
有没有更简单的方法来做到这一点?