我在从对象变量复制数组中的数据时遇到问题,对象变量也是String类型。
任何人都可以解释这个
String[] childRoot = null;
int k = 1;
System.out.println(" Name " + d.getName());
childRoot[k]=d.getName(); *
k++;
输出
Name try 1
java.lang.NullPointerException
at *
详细信息:getName
java.lang.String getName()
Returns the name of this object
答案 0 :(得分:5)
是的,您必须先初始化数组才能使用它。如果您不想初始化,可以使用另一种方法填充数组:
String[] childRoot = {null, d.getName()};
我把第一个元素设为null,因为你希望名字在索引1中,这是数组的第二个元素。
答案 1 :(得分:1)
由于您没有在标记的行中标记异常,因此很难说出问题。有两点可以引发异常:
1.- d未初始化且为NULL
2.-更可能你没有初始化childRoot,你只声明它。
final int LENGHT=5;
String[] childRoot = new String[LENGHT];