Java 创建用户定义的数据类型会引发问题

Java 创建用户定义的数据类型会引发问题,java,nullpointerexception,initialization,custom-data-type,Java,Nullpointerexception,Initialization,Custom Data Type,我创建了一个包含两个字段的数据类型,时间和度量。我创建了这些数据类型的数组。然后,当我尝试为数组[0]的一个字段赋值时,我得到一个空指针异常。谁能告诉我怎么了 Public class MeasurementPoint{ private int time; private double measurement; public MeasurementPoint(){ this.time =0; this.measurement =0;}} public void setMeausureme

我创建了一个包含两个字段的数据类型,时间和度量。我创建了这些数据类型的数组。然后,当我尝试为数组[0]的一个字段赋值时,我得到一个空指针异常。谁能告诉我怎么了

Public class MeasurementPoint{

private int time;
private double  measurement;

public MeasurementPoint(){
this.time =0;
this.measurement =0;}}

public void setMeausurement(double value){
this.measurement = value;}
public double getMeasurement (){
return this.measurement;}

public void setTime(int value){
this.time = value;}
public int getMeasurement (){
return this.time;}
}
下面是我用来创建数组的代码

MeasurementPoint [] controlValues = new MeasurementPoint [points];
System.out.println(controlValues.length(); // this gives me 16 so I know the array is created

controlValues[0].setMeasurement(aCtivity);// this is where I get the exception.

您初始化了数组,但从未初始化数组元素,因此,当您尝试访问数组的第0个索引时,您会得到
NullPointerException
,因为您的数组[0]返回null,并且您尝试在null上调用setMe…()。。您必须实际初始化数组元素

MeasurementPoint [] controlValues = new MeasurementPoint [points];
controlValues[0] = new Measurementpoint(val1,val2);

您初始化了数组,但从未初始化数组元素,因此,当您尝试访问数组的第0个索引时,您会得到
NullPointerException
,因为您的数组[0]返回null,并且您尝试在null上调用setMe…()。。您必须实际初始化数组元素

MeasurementPoint [] controlValues = new MeasurementPoint [points];
controlValues[0] = new Measurementpoint(val1,val2);
setMeasurement()您正在调用setMeasurement()…这是打字错误吗?setMeasurement()您正在调用setMeasurement()…这是打字错误吗?