Java 数组在运行时初始化

标签 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);

最佳答案

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

byte[] bcode = new byte[6];

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

关于Java 数组在运行时初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15284597/

相关文章:

java - 如何使用分割字符串搜索并填充到 ListView

java - 最适合代表以下场景的数据结构是什么

java - 如何在Java中以递增的周期重复运行任务?

java - 我的 Android Scrollview 在 tabhost 中消耗了太多内存

java - 如何在运行时从文件夹或 JAR 加载类?

Java Servlet 映射

java - 这使我的程序卡住

java - 将 XML 字符串转换为 JSON 对象

Java继承方法使用了错误的类

java - 重构大数据对象