我正在为一个J2ME应用程序编写此函数,因此我没有一些更高级/现代的Java类可用。在这上面我得到了java.lang.ArrayIndexOutOfBoundsException
错误。所以,显然要么它不喜欢我初始化newChars
数组的方式,要么我在调用System.arraycopy
时做错了什么。
/*
* remove any leading and trailing spaces
*/
public static String trim(String str) {
char[] chars = str.toCharArray();
int len = chars.length;
// leading
while ( (len > 0 ) && ( chars[0] == ' ' ) ) {
char[] newChars = new char[] {}; // initialize empty array
System.arraycopy(chars, 1, newChars, 0, len - 1);
chars = newChars;
len = chars.length;
}
// TODO: trailing
return chars.toString();
}