From 8b0b21f7425782fbccba18f0ca2f3021b76d9f19 Mon Sep 17 00:00:00 2001 From: zzzj Date: Fri, 24 Mar 2023 11:44:30 +0800 Subject: [PATCH] =?UTF-8?q?commonPrefix=E4=B8=8EcommonSuffix=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E7=A9=BA=E5=AD=97=E7=AC=A6=E4=B8=B2(=E5=89=8D?= =?UTF-8?q?=E7=BC=80/=E5=90=8E=E7=BC=80)=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/hutool/core/text/CharSequenceUtil.java | 4 ++-- .../hutool/core/text/CharSequenceUtilTest.java | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java index 51d980afd..e257ebc77 100755 --- a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java @@ -4594,7 +4594,7 @@ public class CharSequenceUtil { * @return 字符串1和字符串2的公共前缀 */ public static CharSequence commonPrefix(CharSequence str1, CharSequence str2) { - if (isBlank(str1) || isBlank(str2)) { + if (isEmpty(str1) || isEmpty(str2)) { return EMPTY; } final int minLength = Math.min(str1.length(), str2.length()); @@ -4618,7 +4618,7 @@ public class CharSequenceUtil { * @return 字符串1和字符串2的公共后缀 */ public static CharSequence commonSuffix(CharSequence str1, CharSequence str2) { - if (isBlank(str1) || isBlank(str2)) { + if (isEmpty(str1) || isEmpty(str2)) { return EMPTY; } int str1Index = str1.length() - 1; diff --git a/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java index 1962f2ab6..af674d705 100755 --- a/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java @@ -183,6 +183,14 @@ public class CharSequenceUtilTest { Assert.assertEquals("中文", CharSequenceUtil.commonPrefix("中文english", "中文french")); + // { space * 10 } + "abc" + final String str1 = CharSequenceUtil.repeat(CharSequenceUtil.SPACE, 10) + "abc"; + + // { space * 5 } + "efg" + final String str2 = CharSequenceUtil.repeat(CharSequenceUtil.SPACE, 5) + "efg"; + + // Expect common prefix: { space * 5 } + Assert.assertEquals(CharSequenceUtil.repeat(CharSequenceUtil.SPACE, 5), CharSequenceUtil.commonPrefix(str1, str2)); } @Test @@ -207,6 +215,14 @@ public class CharSequenceUtilTest { Assert.assertEquals("中文", CharSequenceUtil.commonSuffix("english中文", "Korean中文")); + // "abc" + { space * 10 } + final String str1 = "abc" + CharSequenceUtil.repeat(CharSequenceUtil.SPACE, 10); + + // "efg" + { space * 15 } + final String str2 = "efg" + CharSequenceUtil.repeat(CharSequenceUtil.SPACE, 15); + + // Expect common suffix: { space * 10 } + Assert.assertEquals(CharSequenceUtil.repeat(CharSequenceUtil.SPACE, 10), CharSequenceUtil.commonSuffix(str1, str2)); } }