!668 StrUtil.isAllBlank() 支持数支持List

Merge pull request !668 from dazer007/v6-dev-StrUtil_isAllBlank-support-list
This commit is contained in:
Looly 2022-06-29 10:37:12 +00:00 committed by Gitee
commit 576860f878
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 110 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import java.io.StringReader;
import java.io.StringWriter; import java.io.StringWriter;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.Collection;
import java.util.Map; import java.util.Map;
/** /**
@ -415,4 +416,22 @@ public class StrUtil extends CharSequenceUtil implements StrPool {
public static String format(final CharSequence template, final Map<?, ?> map, final boolean ignoreNull) { public static String format(final CharSequence template, final Map<?, ?> map, final boolean ignoreNull) {
return StrFormatter.format(template, map, ignoreNull); return StrFormatter.format(template, map, ignoreNull);
} }
/**
* @see CharSequenceUtil#isAllBlank(CharSequence...)
* @param strs 字符串列表
* @return 批量判断字符串是否全部为空白
* @since 6.0.1
*/
public static boolean isAllBlank(final Collection<? extends CharSequence> strs) {
if (ArrayUtil.isEmpty(strs)) {
return true;
}
for (final CharSequence str : strs) {
if (isNotBlank(str)) {
return false;
}
}
return true;
}
} }

View File

@ -0,0 +1,91 @@
package cn.hutool.core.text;
import org.junit.Assert;
import org.junit.Test;
import java.util.LinkedList;
import java.util.List;
public class StrUtilTest {
@Test
public void testReplace2() {
// https://gitee.com/dromara/hutool/issues/I4M16G
final String replace = "#{A}";
final String result = StrUtil.replace(replace, "#{AAAAAAA}", "1");
Assert.assertEquals(replace, result);
}
@Test
public void testReplaceByStr() {
final String replace = "SSM15930297701BeryAllen";
final String result = StrUtil.replace(replace, 5, 12, "***");
Assert.assertEquals("SSM15***01BeryAllen", result);
}
@Test
public void testAddPrefixIfNot() {
final String str = "hutool";
String result = StrUtil.addPrefixIfNot(str, "hu");
Assert.assertEquals(str, result);
result = StrUtil.addPrefixIfNot(str, "Good");
Assert.assertEquals("Good" + str, result);
}
@Test
public void testAddSuffixIfNot() {
final String str = "hutool";
String result = StrUtil.addSuffixIfNot(str, "tool");
Assert.assertEquals(str, result);
result = StrUtil.addSuffixIfNot(str, " is Good");
Assert.assertEquals(str + " is Good", result);
result = StrUtil.addSuffixIfNot("", "/");
Assert.assertEquals("/", result);
}
@Test
public void testIssAllBlank() {
List<String> queue = new LinkedList<>();
queue.add("apple");
queue.add("banana");
queue.add("cherry");
queue.add("orange");
queue.add("strawberry");
queue.add("watermelon");
Assert.assertFalse(StrUtil.isAllBlank(queue));
Assert.assertTrue(CharSequenceUtil.isAllBlank(""));
Assert.assertTrue(CharSequenceUtil.isAllBlank(" "));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\t"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\n"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\r"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\f"));
Assert.assertFalse(CharSequenceUtil.isAllBlank("\b"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u00A0"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\uFEFF"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2000"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2001"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2002"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2003"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2004"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2005"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2006"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2007"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2008"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2009"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u200A"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u3000"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\uFEFF"));
// 其他空白字符
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u000B"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u000C"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u00A0"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u1680"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u180E"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2000"));
Assert.assertTrue(CharSequenceUtil.isAllBlank("\u2001"));
}
}