作用:去掉字符串两端的空白部分,也就是asc码小于等于32的
实现:通过两个指针来实现,一个左指针,一个右指针,最后取中间的字符串,如果没有,返回字符串本身
具体代码:
public String trim() {
int len = value.length;
int st = 0;
char[] val = value;
while ((st < len) && (val[st] <= " ")) {
st++;
}
while ((st < len) && (val[len - 1] <= " ")) {
len--;
}
return ((st > 0) || (len < value.length)) ? substring(st, len) : this;
}
public String substring(int beginIndex, int endIndex) {
if (beginIndex < 0) {
throw new StringIndexOutOfBoundsException(beginIndex);
}
if (endIndex > value.length) {
throw new StringIndexOutOfBoundsException(endIndex);
}
int subLen = endIndex - beginIndex;
if (subLen < 0) {
throw new StringIndexOutOfBoundsException(subLen);
}
return ((beginIndex == 0) && (endIndex == value.length)) ? this
: new String(value, beginIndex, subLen);
}