这是个初学者非常容易遇到的问题,下面请看源代码:
public class Division {
public static void main(String[] args) {
String str = new String("abc,def,ghi,gkl");
String[] newstr = str.split(",");
for(int i=0;i<=newstr.length;i++) {
System.out.println(newstr[i]);
}
}
}
运行之后出现这个问题:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at text.Division.main(Division.java:8)
原因是因为在你进行String类型数组遍历时,定义的数组元素的第四个下标越界(newstr[4]),即为零。也就是源代码的第八行代码有错误,这时只要将数组遍历的条件修改为: newstr.length处理掉越界就OK了。