Java String trim
val[st] <= ’ ‘ 除去头尾ASCII码小于空格(32)的字符
一直记为只去除头尾的空格,有空还是要多看看源码
public String trim() {
int len = value.length;
int st = 0;
char[] val = value; /* avoid getfield opcode */
while ((st < len) && (val[st] <= ' ')) {
st++;
}
while ((st < len) && (val[len - 1] <= ' ')) {
len--;
}
return ((st > 0) || (len < value.length)) ? substring(st, len) : this;
}
TEST
public static void Str() {
char[] c = new char[] { '\t', 'a'};
String str = new String(c);
System.out.println("{" + str + "}");
str = str.trim();
System.out.println("{" + str + "}");
}
OUTPUT
{ a}
{a}