diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/text/StrUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/text/StrUtil.java index 1f6eab1fd..898c298fd 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/text/StrUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/text/StrUtil.java @@ -25,7 +25,6 @@ import java.io.StringReader; import java.io.StringWriter; import java.nio.ByteBuffer; import java.nio.charset.Charset; -import java.util.Optional; /** * 字符串工具类
@@ -372,41 +371,4 @@ public class StrUtil extends CharSequenceUtil implements StrPool { public static String similar(final String str1, final String str2, final int scale) { return TextSimilarity.similar(str1, str2, scale); } - - /** - * 字符串填充 - * @param str 被填充的字符串(原始字符串) - * @param left 往原始字符串的左边填充 - * @param right 往原始字符串的右边填充 - * @param middle 往原始字符串的中间填充 - * @param middlePos 填充的索引位置 - * @return flexibleConcat - */ - public static String flexibleConcat(String str, String left, String right, String middle, int middlePos) { - // 使用 StringBuilder 来提高拼接性能 - StringBuilder sb = new StringBuilder(); - - // 如果原始字符串不为 null,添加到 StringBuilder - if (str != null) { - sb.append(str); - } - - // 左边拼接字符串(如果有 - Optional.ofNullable(left) - .filter(s -> !s.isEmpty()) - .ifPresent(l -> sb.insert(0, l.toCharArray())); - - // 右边拼接字符串(如果有) - Optional.ofNullable(right) - .filter(s -> !s.isEmpty()) - .ifPresent(sb::append); - - // 中间拼接字符串(如果有且位置有效) - Optional.ofNullable(middle) - .filter(s -> !s.isEmpty()) - .filter(s -> middlePos >= 0 && middlePos <= sb.length()) - .ifPresent(m -> sb.insert(middlePos, m.toCharArray())); - - return sb.toString(); - } } diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/text/CharSequenceUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/text/CharSequenceUtilTest.java index b30f3f3d7..5f24e5b2f 100644 --- a/hutool-core/src/test/java/org/dromara/hutool/core/text/CharSequenceUtilTest.java +++ b/hutool-core/src/test/java/org/dromara/hutool/core/text/CharSequenceUtilTest.java @@ -229,14 +229,14 @@ public class CharSequenceUtilTest { public void replaceLastTest() { final String str = "i am jack and jack"; final String result = StrUtil.replaceLast(str, "JACK", null, true); - assertEquals(result, "i am jack and "); + assertEquals("i am jack and ", result); } @Test public void replaceFirstTest() { final String str = "yes and yes i do"; final String result = StrUtil.replaceFirst(str, "YES", "", true); - assertEquals(result, " and yes i do"); + assertEquals(" and yes i do", result); } @Test @@ -539,4 +539,9 @@ public class CharSequenceUtilTest { assertEquals("a", CharSequenceUtil.stripAll("aba", "ab", "ba")); assertEquals("a", CharSequenceUtil.stripAll("abababa", "ab", "ba")); } + + @Test + void concatTest() { + assertEquals("abc", CharSequenceUtil.concat(true, "a", "b", "c")); + } }