无法从对象复制到String数组中

时间:2012-01-10 11:22:00

标签: java

我在从对象变量复制数组中的数据时遇到问题,对象变量也是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 

2 个答案:

答案 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];