Java-Array<;初始化>;错误
我有一个类,它包含另一个类数组,在构造函数中,我想使“n”和“nCod”等于0Java-Array<;初始化>;错误,java,arrays,init,Java,Arrays,Init,我有一个类,它包含另一个类数组,在构造函数中,我想使“n”和“nCod”等于0 使用新建TableRow[256]创建数组实例时,其每个元素都初始化为null 因此,每个元素在被访问之前都应该初始化: arr = new TableRow[256]; for(int i=0;i<256;i++) { arr[i] = new TableRow (); // add this arr[i].n = 0; arr[i].nCod = 0; } arr=newtable
使用
新建TableRow[256]
创建数组实例时,其每个元素都初始化为null
因此,每个元素在被访问之前都应该初始化:
arr = new TableRow[256];
for(int i=0;i<256;i++)
{
arr[i] = new TableRow (); // add this
arr[i].n = 0;
arr[i].nCod = 0;
}
arr=newtablerow[256];
对于(int i=0;i当您使用新建TableRow[256]
创建一个数组实例时,它的每个元素都初始化为null
因此,每个元素在被访问之前都应该初始化:
arr = new TableRow[256];
for(int i=0;i<256;i++)
{
arr[i] = new TableRow (); // add this
arr[i].n = 0;
arr[i].nCod = 0;
}
arr=newtablerow[256];
对于(int i=0;i当您创建一个没有初始值的对象数组时,数组中的所有位置都将指向null
。因此,例如,arr=new TableRow[3]
将数组初始化为[null,null,null]
由于您没有将任何TableRow
对象存储到arr
中,因此当您访问arr[i]
时,它会返回null
,而不是一个具体的对象。如果您尝试访问null
中的字段,则会导致您观察到的null点异常
您需要做的是创建TableRow
实例,并在尝试访问它们之前将它们放入数组中。类似如下:
arr = new TableRow[256];
for (int i = 0; i < arr.length; i++) {
arr[i] = new TableRow();
arr[i].n = 0;
arr[i].nCode = 0;
}
arr=newtablerow[256];
对于(int i=0;i
当您创建一个没有初始值的对象数组时,数组中的所有位置都将指向null
。因此,例如,arr=newtablerow[3]
将数组初始化为[null,null,null]
由于您没有将任何TableRow
对象存储到arr
中,因此当您访问arr[i]
时,它会返回null
,而不是一个具体的对象。如果您尝试访问null
中的字段,则会导致您观察到的null点异常
您需要做的是创建TableRow
实例,并在尝试访问它们之前将它们放入数组中。类似如下:
arr = new TableRow[256];
for (int i = 0; i < arr.length; i++) {
arr[i] = new TableRow();
arr[i].n = 0;
arr[i].nCode = 0;
}
arr=newtablerow[256];
对于(int i=0;i
arr = new TableRow[256];
for (int i = 0; i < arr.length; i++) {
arr[i] = new TableRow();
arr[i].n = 0;
arr[i].nCode = 0;
}