public class StringUtils
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
ASTERISK
一个英文星号字符串
"*" |
static java.lang.String |
COLON
一个英文冒号字符串
":" |
static java.lang.String |
COMMA
一个英文逗号字符串
"," |
static java.lang.String |
CR
一个回车字符串
"\r" |
static java.lang.String |
EMPTY
空字符串
"". |
static java.lang.String[] |
EMPTY_STRING_ARRAY
一个空字符串数组.
|
static java.lang.String |
HYPHEN
一个英文连字符字符串
"-" |
static java.lang.String |
LBRACE
一个英文左大括号字符串 "{"
|
static java.lang.String |
LBRACKET
一个英文左中括号字符串
"[" |
static java.lang.String |
LF
一个换行字符串
"\n" |
static java.lang.String |
LPAREN
一个英文左括号字符串
"(" |
static java.lang.String |
RBRACE
一个英文右大括号字符串 "}"
|
static java.lang.String |
RBRACKET
一个英文右中括号字符串
"]" |
static java.lang.String |
RPAREN
一个英文右括号字符串
")" |
static java.lang.String |
SEMICOLON
一个英文分号字符串
";" |
static java.lang.String |
SPACE
一个空格字符串
" " |
| 构造器和说明 |
|---|
StringUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static int |
asciiSizeInBytes(long v)
计算一个Long类型的数字的文本长度.
|
static java.lang.String |
build(java.lang.String delimiter,
java.lang.String prefix,
java.lang.String suffix,
java.lang.String... strings)
拼接字符串.
|
static byte[] |
bytes(java.lang.CharSequence str)
编码字符串
使用系统默认编码 |
static byte[] |
bytes(java.lang.CharSequence str,
java.nio.charset.Charset charset)
编码字符串
|
static java.lang.String |
format(java.lang.String str,
java.lang.Object... arguments)
常规的格式化一个带有占位符的字符串.
|
static boolean |
isBlank(java.lang.String text)
检测字符串是否为空,null或Java空白字符。
|
static boolean |
isEmpty(java.lang.String text)
检测字符串是否为 null或"".
|
static boolean |
isNotBlank(java.lang.String text)
检测字符串是否不为空,null或Java空白字符。
|
static boolean |
isNotEmpty(java.lang.String text)
检测字符串是否不为 null且不为"".
|
static java.lang.String |
join(java.lang.String... strings)
拼接字符串.
|
static java.lang.String |
leftPad(java.lang.String str,
int size)
从左边使用空格(' ')补齐指定位位数的字符串.
|
static java.lang.String |
leftPad(java.lang.String str,
int size,
char padChar)
从左边使用指定字符补齐指定位位数的字符串.
|
static int |
length(java.lang.String text)
检测一个字符串长度.
|
static java.lang.String |
lowerWord(java.lang.CharSequence cs,
char c)
将一个字符串由驼峰式命名变成分割符分隔单词
lowerWord("helloWorld", '_') => "hello_world"
|
static java.lang.String |
pathJoin(java.lang.String... paths)
拼接路径字符串.
|
static java.lang.String |
readString(java.io.InputStream inputStream)
从输入流中读出所有文本.
|
static java.lang.String |
readString(java.io.InputStream inputStream,
java.nio.charset.Charset charset)
从输入流中读出所有文本.
|
static java.lang.String |
readString(java.io.Reader reader)
读出所有文本。
|
static java.lang.String[] |
split(java.lang.String str,
java.lang.String separatorChars)
Splits the provided text into an array, separators specified.
|
static java.lang.String[] |
split(java.lang.String str,
java.lang.String separatorChars,
int max)
切割指定字符串
|
static byte[] |
utf8Bytes(java.lang.CharSequence str)
编码字符串,编码为UTF-8
|
public static final java.lang.String EMPTY
"".public static final java.lang.String SPACE
" "public static final java.lang.String LF
"\n"public static final java.lang.String CR
"\r"public static final java.lang.String COMMA
","public static final java.lang.String HYPHEN
"-"public static final java.lang.String LPAREN
"("public static final java.lang.String RPAREN
")"public static final java.lang.String LBRACE
public static final java.lang.String RBRACE
public static final java.lang.String LBRACKET
"["public static final java.lang.String RBRACKET
"]"public static final java.lang.String COLON
":"public static final java.lang.String ASTERISK
"*"public static final java.lang.String SEMICOLON
";"public static final java.lang.String[] EMPTY_STRING_ARRAY
public static boolean isEmpty(java.lang.String text)
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("test") = false
StringUtils.isEmpty(" test ") = false
text - 被检测字符串public static boolean isNotEmpty(java.lang.String text)
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("test") = true
StringUtils.isNotEmpty(" test ") = true
text - 被检测字符串public static boolean isBlank(java.lang.String text)
Java空白字符的定义请参考Character.isWhitespace(char).
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
text - 被检测字符串public static boolean isNotBlank(java.lang.String text)
Java空白字符的定义请参考Character.isWhitespace(char).
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true
text - 被检测字符串public static int length(java.lang.String text)
字符串有可能包含中文等其他文字,中文应该算2个长度.
text - 被检测字符串public static java.lang.String[] split(java.lang.String str,
java.lang.String separatorChars)
Splits the provided text into an array, separators specified. This is an alternative to using StringTokenizer.
The separator is not included in the returned String array. Adjacent separators are treated as one separator. For more control over the split use the StrTokenizer class.
A null input String returns null. A null separatorChars splits on whitespace.
StringUtils.split(null, *) = null
StringUtils.split("", *) = []
StringUtils.split("abc def", null) = ["abc", "def"]
StringUtils.split("abc def", " ") = ["abc", "def"]
StringUtils.split("abc def", " ") = ["abc", "def"]
StringUtils.split("ab:cd:ef", ":") = ["ab", "cd", "ef"]
str - the String to parse, may be nullseparatorChars - the characters used as the delimiters, null splits on whitespacenull if null String inputpublic static java.lang.String[] split(java.lang.String str,
java.lang.String separatorChars,
int max)
str - 要切割的字符串separatorChars - 切割符max - 最大分几部分public static java.lang.String lowerWord(java.lang.CharSequence cs,
char c)
lowerWord("helloWorld", '_') => "hello_world"
cs - 字符串c - 分隔符public static int asciiSizeInBytes(long v)
包含负数计算
v - Long类型的数字public static java.lang.String join(java.lang.String... strings)
strings - 需要拼接的字串public static java.lang.String pathJoin(java.lang.String... paths)
paths - 需要拼接的路径字串public static java.lang.String build(java.lang.String delimiter,
java.lang.String prefix,
java.lang.String suffix,
java.lang.String... strings)
在比较长或多的情况计算长度比StringJoiner性能好.
StringJoiner result = new StringJoiner(delimiter, prefix, suffix);
for (String str : strings) {
result.add(str);
}
return result.toString();
Stream.of(strings).collect(Collectors.joining(delimiter, prefix, suffix))
delimiter - 分隔符prefix - 前缀suffix - 后缀strings - 需要拼接的字串public static byte[] utf8Bytes(java.lang.CharSequence str)
str - 字符串public static byte[] bytes(java.lang.CharSequence str)
str - 字符串public static byte[] bytes(java.lang.CharSequence str,
java.nio.charset.Charset charset)
str - 字符串charset - 字符集,如果此字段为空,则编码的结果取决于平台public static java.lang.String format(java.lang.String str,
java.lang.Object... arguments)
区别于JDK的MessageFormat.format(String, Object...),这个方法只是简单的按位填充
str - 带有占位符的字符串arguments - 参数列表public static java.lang.String readString(java.io.InputStream inputStream)
throws java.io.IOException
inputStream - 输入流java.io.IOException - If an I/O error occurspublic static java.lang.String readString(java.io.InputStream inputStream,
java.nio.charset.Charset charset)
throws java.io.IOException
inputStream - 输入流charset - 文本的编码方式java.io.IOException - If an I/O error occurspublic static java.lang.String readString(java.io.Reader reader)
throws java.io.IOException
这里没有选择BufferedReader就是不想一行一行的读,浪费字符串拼接性能
正常用于读HTTP的响应,配置文件内容,小文件等情况
reader - 抽象的文本流java.io.IOException - If an I/O error occurspublic static java.lang.String leftPad(java.lang.String str,
int size)
StringUtils.leftPad(null, *) = null
StringUtils.leftPad("", 3) = " "
StringUtils.leftPad("bat", 3) = "bat"
StringUtils.leftPad("bat", 5) = " bat"
StringUtils.leftPad("bat", 1) = "bat"
StringUtils.leftPad("bat", -1) = "bat"
str - 字符串size - 补齐后的位数nullpublic static java.lang.String leftPad(java.lang.String str,
int size,
char padChar)
StringUtils.leftPad(null, *, *) = null
StringUtils.leftPad("", 3, 'b') = "bbb"
StringUtils.leftPad("bat", 3, 'b') = "bat"
StringUtils.leftPad("bat", 5, ' ') = " bat"
StringUtils.leftPad("bat", 1, 'b') = "bat"
StringUtils.leftPad("bat", -1, 'b') = "bat"
str - 字符串size - 补齐后的位数padChar - 补齐字符null