我有关于字符串的查询。
我将我的字符串数组声明为:
private static String[] name;
然后我尝试添加一个字符串:
name[0] = temp // Where temp as another string
我使用上面的代码得到了一个nullpointer错误。我是否正确初始化了我的字符串数组?
答案 0 :(得分:4)
看起来你错过了写作
name = new String[CAPACITY];
某处
答案 1 :(得分:2)
如果要将动态元素添加到字符串数组,我建议您执行
private static ArrayList<String> name = new ArrayList<String>();
然后使用下面的字符串添加:
name.add(temp);
如果您知道它的大小,那么您可以创建一个这样的数组:
private static String[] name = new String[10]; //if it's going to have 10 elements (typo corrected)
答案 2 :(得分:0)
问题是你没有初始化你的字符串数组。
您可以这样声明和初始化:
private static String[] name = new String[4];
其中&#39; 4&#39;是你的数组的大小。
或:
private static String[] name = {temp, temp2, temp3};
其中temps是数组中的每个项目。
答案 3 :(得分:0)
点
private static String[] name;
在您的代码中,'name'仍为null
。
对于一个字符串数组,您必须声明要存储的(常量)字符串数。
int n = 10;
private static String[] name = new String[n];
然后,您不能在阵列中写入超过n
个字符串。
如果您想动态获取字符串数,则必须使用Vector<String>
或ArrayList<String>
。两个对象都使用myStrings.add(String string)
- 方法添加字符串,您可以通过调用myStrings.get(int position)
来访问字符串。