下面的测试代码导致字符串数组上的“空指针参考”错误(在第6行)。这导致NullPointerException。
public class TestString {
public static void main (String args[]) {
String test [] = null;
for (int i =0; i < 5; i++) {
String testName = "sony" + i;
test [k] = testName;
}
}
}
- 我该如何解决这个问题? - 导致这个错误的是什么?
谢谢, 索尼
答案 0 :(得分:6)
您需要在此之前初始化您的数组:
test = new String[5];
无论何时使用数组,JVM都需要知道它是否存在及其大小。
在java中,有很多方法可以初始化数组。
test = new String[5];
只需创建一个包含五个阵地的数组。 (你不能添加第六个元素)
test = new String[]{"1", "2"};
创建一个包含两个位置的数组,其中包含值1和2。
String[] test = {"1", "2"};
创建一个包含两个位置的数组,其中包含值1和2.但是您注意到它必须同时使用数组声明。
在Java数组 static 中,您可以在创建时指定大小,并且无法对其进行更改。
答案 1 :(得分:3)
您的代码中有太多错误。 1)什么是k? 2)您需要首先初始化测试阵列。
String test[] = new String[5]; // or any other number
答案 2 :(得分:0)
您没有初始化阵列。在第三行,您将其设置为null,然后在第六行,您尝试将字符串设置为不存在的数组。您可以像这样初始化数组:
String test [] = new String[5];
答案 3 :(得分:0)
将String test[] = null;
更改为String test[] = new String[5];
必须初始化数组。
请参阅:http://download.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html