0

我正在开发基于 Java 的 COM 程序,当我以这种格式发送数据时,它可以工作:

serialPort.writeBytes( new byte[] { (byte)3, (byte)0, (byte)0, 
                                    (byte)0, (byte)4, (byte)5} );

但是当我这样做时它没有,我在哪里做错了?

byte[] bcode = null;
bcode[0] = (byte)3;
bcode[1] = (byte)0;
bcode[2] = (byte)0;
bcode[3] = (byte)0;
bcode[4] = (byte)4;
bcode[5] = (byte)5;
serialPort.writeBytes(bcode);
4

1 回答 1

6

在第二个示例中,您没有创建数组,而是分配了它null。您不能引用不存在的数组的数组元素。你可以做

byte[] bcode = new byte[6];

这将创建具有 6 个字节空间的数组。然后单独分配您的值。

于 2013-03-08T00:32:02.390 回答