diff --git a/CHANGELOG.md b/CHANGELOG.md index 150754c0f..7cbf05456 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * 【core 】 修复4位bytes转换float问题(issue#I4M0E4@Gitee) * 【core 】 修复CharSequenceUtil.replace问题(issue#I4M16G@Gitee) * 【json 】 修复JSONObject 初始化大小值未被使用问题(issue#2016@Github) +* 【core 】 修复StrUtil.startWith都为null返回错误问题(issue#I4MV7Q@Gitee) ------------------------------------------------------------------------------------------------------------- # 5.7.17 (2021-12-09) 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 660989242..4ef829260 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java @@ -706,7 +706,7 @@ public class CharSequenceUtil { */ public static boolean startWith(CharSequence str, CharSequence prefix, boolean ignoreCase, boolean ignoreEquals) { if (null == str || null == prefix) { - if (false == ignoreEquals) { + if (ignoreEquals) { return false; } return null == str && null == prefix; 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 38894581f..76ef69cc6 100644 --- a/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/text/CharSequenceUtilTest.java @@ -86,4 +86,11 @@ public class CharSequenceUtilTest { v = CharSequenceUtil.subPreGbk(s, 40, true); Assert.assertEquals(41, v.getBytes(CharsetUtil.CHARSET_GBK).length); } + + @Test + public void startWithTest(){ + // https://gitee.com/dromara/hutool/issues/I4MV7Q + Assert.assertFalse(CharSequenceUtil.startWith("123", "123", false, true)); + Assert.assertFalse(CharSequenceUtil.startWith(null, null, false, true)); + } }