public static void test() {
String[] str = new String[1024];
for (int i = 0; i < 200; i++) {
str[i] = "23232";
}
int max = 0;
for (int i = 1; i < str.length-1; i++) {
if (str[i].length() > 0)
max += 1;
}
System.out.print(max);
}
你的字符串数组的长度为1024,而你只初始化了前200个元素,后面的元素没有初始化,默认为NULL,因此报空指针异常
因为你上面赋值的时候只赋到第200位,从第200位开始,后面的全是空,下面取值却取到1024位
你的字符串数组的长度为1024,而你只初始化了前200个元素,后面的元素没有初始化,默认为NULL,因此报空指针异常
长度为1024,200以后都未赋值
各楼都给了正确答案,你自己看来是小白 多思考.