问题描述
- 麻烦看下为什么运行时会报空指针异常
-
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以后都未赋值
解决方案五:
各楼都给了正确答案,你自己看来是小白 多思考.
时间: 2025-01-19 20:21:29