diff --git a/CHANGELOG.md b/CHANGELOG.md index c291c2e2e..dab30a516 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,12 +3,13 @@ ------------------------------------------------------------------------------------------------------------- -# 5.8.6.M1 (2022-08-15) +# 5.8.6.M1 (2022-08-16) ### 🐣新特性 * 【core 】 CollUtil新增addIfAbsent方法(pr#750@Gitee) * 【core 】 DateUtil.parseUTC支持只有时分的格式(issue#I5M6DP@Gitee) * 【core 】 NumberUtil.parseInt忽略科学计数法(issue#I5M55F@Gitee) +* 【core 】 IterUtil.getFirst优化(pr#753@Gitee) * ### 🐞Bug修复 * 【http 】 修复https下可能的Patch、Get请求失效问题(issue#I3Z3DH@Gitee) diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/IterUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/IterUtil.java index 3840609db..c930ac468 100755 --- a/hutool-core/src/main/java/cn/hutool/core/collection/IterUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/collection/IterUtil.java @@ -576,7 +576,7 @@ public class IterUtil { */ public static T getFirst(Iterable iterable) { if (iterable instanceof List) { - List list = (List) iterable; + final List list = (List) iterable; return CollUtil.isEmpty(list) ? null: list.get(0); } diff --git a/hutool-core/src/test/java/cn/hutool/core/collection/IterUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/collection/IterUtilTest.java index 48ca3e38d..58767ba20 100644 --- a/hutool-core/src/test/java/cn/hutool/core/collection/IterUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/collection/IterUtilTest.java @@ -22,12 +22,12 @@ import java.util.Map; public class IterUtilTest { @Test - public void getFirst() { + public void getFirstTest() { Assert.assertNull(IterUtil.getFirst((Iterable) null)); Assert.assertNull(IterUtil.getFirst(CollUtil.newArrayList())); Assert.assertEquals("1", IterUtil.getFirst(CollUtil.newArrayList("1", "2", "3"))); - ArrayDeque deque = new ArrayDeque<>(); + final ArrayDeque deque = new ArrayDeque<>(); deque.add("3"); deque.add("4"); Assert.assertEquals("3", IterUtil.getFirst(deque)); @@ -41,8 +41,8 @@ public class IterUtilTest { @Test public void fieldValueMapTest() { - ArrayList carList = CollUtil.newArrayList(new Car("123", "大众"), new Car("345", "奔驰"), new Car("567", "路虎")); - Map carNameMap = IterUtil.fieldValueMap(carList.iterator(), "carNumber"); + final ArrayList carList = CollUtil.newArrayList(new Car("123", "大众"), new Car("345", "奔驰"), new Car("567", "路虎")); + final Map carNameMap = IterUtil.fieldValueMap(carList.iterator(), "carNumber"); Assert.assertEquals("大众", carNameMap.get("123").getCarName()); Assert.assertEquals("奔驰", carNameMap.get("345").getCarName()); @@ -51,63 +51,63 @@ public class IterUtilTest { @Test public void joinTest() { - ArrayList list = CollUtil.newArrayList("1", "2", "3", "4"); - String join = IterUtil.join(list.iterator(), ":"); + final ArrayList list = CollUtil.newArrayList("1", "2", "3", "4"); + final String join = IterUtil.join(list.iterator(), ":"); Assert.assertEquals("1:2:3:4", join); - ArrayList list1 = CollUtil.newArrayList(1, 2, 3, 4); - String join1 = IterUtil.join(list1.iterator(), ":"); + final ArrayList list1 = CollUtil.newArrayList(1, 2, 3, 4); + final String join1 = IterUtil.join(list1.iterator(), ":"); Assert.assertEquals("1:2:3:4", join1); // 包装每个节点 - ArrayList list2 = CollUtil.newArrayList("1", "2", "3", "4"); - String join2 = IterUtil.join(list2.iterator(), ":", "\"", "\""); + final ArrayList list2 = CollUtil.newArrayList("1", "2", "3", "4"); + final String join2 = IterUtil.join(list2.iterator(), ":", "\"", "\""); Assert.assertEquals("\"1\":\"2\":\"3\":\"4\"", join2); } @Test public void joinWithFuncTest() { - ArrayList list = CollUtil.newArrayList("1", "2", "3", "4"); - String join = IterUtil.join(list.iterator(), ":", String::valueOf); + final ArrayList list = CollUtil.newArrayList("1", "2", "3", "4"); + final String join = IterUtil.join(list.iterator(), ":", String::valueOf); Assert.assertEquals("1:2:3:4", join); } @Test public void joinWithNullTest() { - ArrayList list = CollUtil.newArrayList("1", null, "3", "4"); - String join = IterUtil.join(list.iterator(), ":", String::valueOf); + final ArrayList list = CollUtil.newArrayList("1", null, "3", "4"); + final String join = IterUtil.join(list.iterator(), ":", String::valueOf); Assert.assertEquals("1:null:3:4", join); } @Test public void testToListMap() { - Map> expectedMap = new HashMap<>(); + final Map> expectedMap = new HashMap<>(); expectedMap.put("a", Collections.singletonList("and")); expectedMap.put("b", Arrays.asList("brave", "back")); - Map> testMap = IterUtil.toListMap(Arrays.asList("and", "brave", "back"), + final Map> testMap = IterUtil.toListMap(Arrays.asList("and", "brave", "back"), v -> v.substring(0, 1)); Assert.assertEquals(testMap, expectedMap); } @Test public void testToMap() { - Map expectedMap = new HashMap<>(); + final Map expectedMap = new HashMap<>(); - Car bmw = new Car("123", "bmw"); + final Car bmw = new Car("123", "bmw"); expectedMap.put("123", bmw); - Car benz = new Car("456", "benz"); + final Car benz = new Car("456", "benz"); expectedMap.put("456", benz); - Map testMap = IterUtil.toMap(Arrays.asList(bmw, benz), Car::getCarNumber); + final Map testMap = IterUtil.toMap(Arrays.asList(bmw, benz), Car::getCarNumber); Assert.assertEquals(expectedMap, testMap); } @Test public void getElementTypeTest(){ - List integers = Arrays.asList(null, 1); - Class elementType = IterUtil.getElementType(integers); + final List integers = Arrays.asList(null, 1); + final Class elementType = IterUtil.getElementType(integers); Assert.assertEquals(Integer.class,elementType); } @@ -120,8 +120,8 @@ public class IterUtilTest { @Test public void filterTest(){ - List obj2 = ListUtil.toList("3"); - List obj = ListUtil.toList("1", "3"); + final List obj2 = ListUtil.toList("3"); + final List obj = ListUtil.toList("1", "3"); IterUtil.filter(obj.iterator(), obj2::contains); @@ -131,8 +131,8 @@ public class IterUtilTest { @Test public void filteredTest(){ - List obj2 = ListUtil.toList("3"); - List obj = ListUtil.toList("1", "3"); + final List obj2 = ListUtil.toList("3"); + final List obj = ListUtil.toList("1", "3"); final FilterIter filtered = IterUtil.filtered(obj.iterator(), obj2::contains); @@ -142,8 +142,8 @@ public class IterUtilTest { @Test public void filterToListTest(){ - List obj2 = ListUtil.toList("3"); - List obj = ListUtil.toList("1", "3"); + final List obj2 = ListUtil.toList("3"); + final List obj = ListUtil.toList("1", "3"); final List filtered = IterUtil.filterToList(obj.iterator(), obj2::contains); @@ -153,8 +153,8 @@ public class IterUtilTest { @Test public void getTest() { - HashSet set = CollUtil.set(true, "A", "B", "C", "D"); - String str = IterUtil.get(set.iterator(), 2); + final HashSet set = CollUtil.set(true, "A", "B", "C", "D"); + final String str = IterUtil.get(set.iterator(), 2); Assert.assertEquals("C", str); } }