diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/text/CharSequenceUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/text/CharSequenceUtil.java
index b6f60f8d51..8b62cc716e 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/text/CharSequenceUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/text/CharSequenceUtil.java
@@ -645,11 +645,15 @@ public class CharSequenceUtil extends StrValidator {
/**
* 检查指定字符串中是否只包含给定的字符
+ * 这里的containsOnly并不是必须全部给定的testChars都需要有,而是一个子集。testChars是个限定集合,检查字符串中的字符是否在这个限定集合中。
*
{@code
+ * StrUtil.containsOnly("asdas", 'a', 'd', 's','l'); --> true
+ * }
*
* @param str 字符串
* @param testChars 检查的字符
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 9cb8ca7e7b..10e7ae5f06 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
@@ -370,4 +370,22 @@ public class CharSequenceUtilTest {
final String s3 = CharSequenceUtil.lowerAt(sb, 2);
Assertions.assertEquals("KEy", s3);
}
+
+ @Test
+ public void testContainsOnly() {
+ // 测试空字符串
+ Assertions.assertTrue(CharSequenceUtil.containsOnly("", 'a', 'b'));
+
+ // 测试字符串只包含testChars中的字符
+ Assertions.assertTrue(CharSequenceUtil.containsOnly("asdf", 'a', 's', 'd', 'f'));
+
+ // 测试字符串包含testChars中的字符和其它字符
+ Assertions.assertFalse(CharSequenceUtil.containsOnly("asdf123", 'a', 's', 'd', 'f'));
+
+ // 测试字符串不包含testChars中的任何字符
+ Assertions.assertFalse(CharSequenceUtil.containsOnly("hello", 'a', 'b'));
+
+ // 测试字符串为null
+ Assertions.assertTrue(CharSequenceUtil.containsOnly(null, 'a', 'b'));
+ }
}