diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/CollectionUtils.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/CollectionUtils.java index 3b4d484e985515673e04f791242cd2f14f60a44b..8f8920273f8f70ad908eb6b5be60e1f42a9f3ce4 100644 --- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/CollectionUtils.java +++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/utils/CollectionUtils.java @@ -124,6 +124,17 @@ public class CollectionUtils { return list; } + public static String join(List list, String separator) { + StringBuilder sb = new StringBuilder(); + for(String ele : list) { + if(sb.length() > 0) { + sb.append(separator); + } + sb.append(ele); + } + return sb.toString(); + } + public static boolean mapEquals(Map map1, Map map2) { if (map1 == null && map2 == null) { return true; diff --git a/dubbo-common/src/test/java/com/alibaba/dubbo/common/utils/CollectionUtilsTest.java b/dubbo-common/src/test/java/com/alibaba/dubbo/common/utils/CollectionUtilsTest.java index e8e6f24699e2bb9ee41c58ea07495b90550756a7..735c5e6ccf5a83de4737af6b5fcba54efb1cedca 100644 --- a/dubbo-common/src/test/java/com/alibaba/dubbo/common/utils/CollectionUtilsTest.java +++ b/dubbo-common/src/test/java/com/alibaba/dubbo/common/utils/CollectionUtilsTest.java @@ -124,7 +124,19 @@ public class CollectionUtilsTest { assertEquals(expected, output); } - + + @Test + public void test_joinList() throws Exception { + List list = Arrays.asList(); + assertEquals("", CollectionUtils.join(list, "/")); + + list = Arrays.asList("x"); + assertEquals("x", CollectionUtils.join(list, "-")); + + list = Arrays.asList("a", "b"); + assertEquals("a/b", CollectionUtils.join(list, "/")); + } + @Test public void test_mapEquals() throws Exception { assertTrue(CollectionUtils.mapEquals(null, null));