该方法去除两边的空白符
原理:
看看源码实现
public String trim() {
int len = value.length;
int st = ;
char[] val = value; /* avoid getfield opcode */ while ((st < len) && (val[st] <= ' ')) {
st++;
}
while ((st < len) && (val[len - ] <= ' ')) {
len--;
}
return ((st > ) || (len < value.length)) ? substring(st, len) : this;
}
根据源码可知:将字符串拆分成字符数组,然后从字符数组的两端的字符的ascii码依次与空格字符的ascii码比较,然后取第一个开始和最后一个之前(包含)的大于32的的字符
附:Integer.valueOf(' ');可查看空格的ascii码为32,tab的ascii码为9.
拓展:java中对空白符的定义