【发布时间】:2019-11-15 09:59:59
【问题描述】:
private byte[] splitKeyAlgorithm(byte[] key) {
var splitStream = 55;
for (int i = 0, x = 0; i < key.length; i++, x++) {
if (x == splitStream) {
key[i] = '\n';
x = -1;
}
}
return key;
}
我想通过换行字节'\n'(splitStream)拆分字节数组以打印到相同长度的行中。我的问题是:我在屏幕上有优雅的拆分字节数组,但是 key[i] 表示的元素有什么作用?被'\n'覆盖?这是不可能的,因为我这样做:
Arrays.compare(original byte[], splitted byte[]);
Arrays.mismatch(original byte[], splitted byte[]);
以上代码返回这两个数组相等且没有任何不匹配。
编辑:// 比较看起来像这样:
Arrays.compare(List<ByteArrayOutputStream>outputStream.get(0).toByteArray(), primitive byte[] array);
【问题讨论】:
-
它被
\n的char值覆盖。如果之前那个地方没有\n(不是,因为\n是10而不是55),那么这两个数组不相等(除非它们都是空的)。
标签: java arrays for-loop iteration