fix bug and add test

This commit is contained in:
Looly 2022-08-29 10:16:16 +08:00
parent 514483010e
commit c58418017e
2 changed files with 24 additions and 1 deletions

View File

@ -84,7 +84,7 @@ public class FilterIter<E> implements Iterator<E> {
private boolean setNextObject() {
while (iterator.hasNext()) {
final E object = iterator.next();
if (null != filter && filter.test(object)) {
if (null == filter || filter.test(object)) {
nextObject = object;
nextObjectSet = true;
return true;

View File

@ -0,0 +1,23 @@
package cn.hutool.core.collection.iter;
import cn.hutool.core.collection.ListUtil;
import org.junit.Assert;
import org.junit.Test;
import java.util.Iterator;
public class FilterIterTest {
@Test
public void iterNullTest(){
final Iterator<String> it = ListUtil.of("1", "2").iterator();
final FilterIter<String> filterIter = new FilterIter<>(it, null);
int count = 0;
while (filterIter.hasNext()) {
if(null != filterIter.next()){
count++;
}
}
Assert.assertEquals(2, count);
}
}