问题描述
byte[] arr;
ByteBuffer buffer = ByteBuffer.allocate(10);
buffer.put((byte) 0x00);
buffer.put(new byte[] {0x01,0x02});
buffer.put(new byte[] {0x03,0x04,0x05});
buffer.put(new byte[] {0x06,0x07,0x08,0x09});
arr = buffer.array();
for(byte c : arr) {
System.out.format("%d ",c);
}
运行上面的代码行时,它会根据需要打印输出。
0 1 2 3 4 5 6 7 8 9
使用Debug运行它时,我再次得到想要的结果。
0 1 2 3 4 5 6 7 8 9
现在我在任何行上都设置一个断点。在调试模式下用手移动应用程序时,仅添加最后一个字节序列。它实际上添加了所有字节数组,但所有索引数组都从索引0开始添加,结果为
6 7 8 9 0 0 0 0 0 0
我不知道为什么会这样。这是调试器问题吗?
我正在使用IntelljIdea和java1.8.0_162。当我输入VM选项-Djava.compiler = NONE时,一切正常。这个过程发生了什么变化?
感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)