diff --git a/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java b/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java index c985675cb744041aeec7f17b155dfc2b8a5408cf..c8f59acb472a58feb5e8fc1b07ed0ea1c9e1ece3 100644 --- a/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java +++ b/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java @@ -1,6 +1,8 @@ package com.schbrain.common.util; +import cn.hutool.core.text.StrPool; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import java.util.*; import java.util.function.Function; @@ -138,16 +140,24 @@ public class StreamUtils { return stream.collect(groupingBy(keyMapper, mapSupplier, mapping(valueMapper, collector))); } - public static String join(Iterable data, CharSequence delimiter) { + public static String join(Iterable data) { + return join(data, StrPool.COMMA); + } + + public static String join(Iterable data, String delimiter) { return join(data, delimiter, Objects::toString); } - public static String join(Iterable data, CharSequence delimiter, Function toStringFunction) { - return join(data, delimiter, "", "", toStringFunction); + public static String join(Iterable data, String delimiter, Function mapper) { + return from(data).map(mapper).collect(joining(delimiter)); + } + + public static List split(String data, Function mapper) { + return split(data, StrPool.COMMA, mapper); } - public static String join(Iterable data, CharSequence delimiter, String prefix, String suffix, Function toStringFunction) { - return from(data).map(toStringFunction).collect(joining(delimiter, prefix, suffix)); + public static List split(String data, String delimiter, Function mapper) { + return Arrays.stream(StringUtils.split(data, delimiter)).map(mapper).collect(Collectors.toList()); } public static Stream from(Iterable iterable) { @@ -159,4 +169,4 @@ public class StreamUtils { return StreamSupport.stream(source.spliterator(), parallel); } -} \ No newline at end of file +}