diff --git a/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java index c3be3c277..20574da8a 100644 --- a/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java @@ -285,6 +285,27 @@ public class CollUtilTest { Assert.assertEquals(CollUtil.newArrayList("b", "c"), filtered); } + @Test + public void filterRemoveTest() { + ArrayList list = CollUtil.newArrayList("a", "b", "c"); + + List removed = new ArrayList<>(); + ArrayList filtered = CollUtil.filter(list, t -> { + if("a".equals(t)){ + removed.add(t); + return false; + } + return true; + }); + + Assert.assertEquals(1, removed.size()); + Assert.assertEquals("a", removed.get(0)); + + // 原地过滤 + Assert.assertSame(list, filtered); + Assert.assertEquals(CollUtil.newArrayList("b", "c"), filtered); + } + @Test public void removeNullTest() { ArrayList list = CollUtil.newArrayList("a", "b", "c", null, "", " ");