因此,这就是我在代码中编写的内容。这是代码的声明部分(用Java编写)。
private class DataStructure{
private VoltageMsg[] voltageMsg;
public DataStructure()
{
this.voltageMsg = new VoltageMsg[VOLTAGE_CH];
}
private class VoltageMsg{
private int Decimal;
private int Integer;
private int ch;
public void setter(int Decimal, int Integer, int ch){
this.Decimal = Decimal;
this.Integer = Integer;
this.ch = ch;
}
}
}
VOLTAGE_CH通过以某个整数值声明的方式是常量。 我试图使用这样的类,
private DataStructure datas;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
datas = new DataStructure();
}
这是致命异常发生的部分。
datas.voltageMsg[0].setter(1,2,3);
这是我从logcat复制的特定消息。
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.wise.ksj.kitms_monitoring_device.DeviceStatus$DataStructure$VoltageMsg.setter(int, int, int)' on a null object reference
我做错了什么?我不能像我一样在构造函数内部动态分配内存吗?这就是为什么它不断向我显示此致命异常的原因?您可能现在已经猜到了,对于这些整个软件工程/编程人员,我还是很陌生。任何帮助,将不胜感激。非常感谢您的宝贵时间。