运行时的Java数组初始化

时间:2013-03-08 00:30:28

标签: java

当我以这种格式发送数据时,我正在研究基于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);

1 个答案:

答案 0 :(得分:6)

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

byte[] bcode = new byte[6];

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