我想在每次迭代中更改变量名称。由于创建的节点数是动态变化的。
我尝试使用一维数组,但返回空指针。我的代码如下
GenericTreeNode<String> **root1[]** = null;
for(int i=0;i<10;i++)
{
String str="child"+i;
System.out.println(str);
**root1[i]** =new GenericTreeNode<String>(str);
}
我正在使用已经建立的数据结构
public class GenericTree<T> {
private GenericTreeNode<T> root;
public GenericTree() {
super();
}
public GenericTreeNode<T> getRoot() {
return this.root;
}
public void setRoot(GenericTreeNode<T> root) {
this.root = root;
}
java或JSP中还有其他方法可以在循环内动态更改变量名。
最佳答案
GenericTreeNode<String> root1[] = null;
这一行等效于这一行:
GenericTreeNode<String>[] root1 = null;
所以您创建一个数组变量并将其初始化为null
root1[i] =new GenericTreeNode<String>(str);
但是在这里您为数组的索引分配了一个值。
这必须抛出
NullPointerException
!!。方法如下:
GenericTreeNode<String>[] root1 = new GenericTreeNode<String>[10];