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 4f7dc2bf1..af17ce0ed 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
@@ -978,7 +978,11 @@ public class CharSequenceUtil {
}
/**
- * 检查指定字符串中是否只包含给定的字符
+ * 检查指定字符串中是否只包含给定的字符
+ * 这里的containsOnly并不是必须全部给定的testChars都需要有,而是一个子集。testChars是个限定集合,检查字符串中的字符是否在这个限定集合中。
+ *
{@code
+ * StrUtil.containsOnly("asdas", 'a', 'd', 's','l'); --> true
+ * }
*
* @param str 字符串
* @param testChars 检查的字符
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 5cfadd588..3914d806c 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
@@ -225,4 +225,22 @@ public class CharSequenceUtilTest {
Assert.assertEquals(CharSequenceUtil.repeat(CharSequenceUtil.SPACE, 10), CharSequenceUtil.commonSuffix(str1, str2));
}
+ @Test
+ public void testContainsOnly() {
+ // 测试空字符串
+ Assert.assertTrue(CharSequenceUtil.containsOnly("", 'a', 'b'));
+
+ // 测试字符串只包含testChars中的字符
+ Assert.assertTrue(CharSequenceUtil.containsOnly("asdf", 'a', 's', 'd', 'f'));
+
+ // 测试字符串包含testChars中的字符和其它字符
+ Assert.assertFalse(CharSequenceUtil.containsOnly("asdf123", 'a', 's', 'd', 'f'));
+
+ // 测试字符串不包含testChars中的任何字符
+ Assert.assertFalse(CharSequenceUtil.containsOnly("hello", 'a', 'b'));
+
+ // 测试字符串为null
+ Assert.assertTrue(CharSequenceUtil.containsOnly(null, 'a', 'b'));
+ }
+
}