gpt4 book ai didi

java - 在 java 中将字节转换为 blob 并再次从 blob 转换为字节时会产生不同的结果

转载 作者:行者123 更新时间:2023-12-01 15:01:16 26 4
gpt4 key购买 nike

我有一个任务将指纹模板转换为字节数组(序列化)。然后我在将两个字节数组转换为 blob 之前以及将其从字节数组转换回 blob 之后比较了这两个字节数组。当我打印它们时,它们给了我不同的结果。这是代码

`Blob blob = con.createBlob();
blob.setBytes(1, enroller.getTemplate().serialize());
System.out.println(enroller.getTemplate().serialize());
//prints [B@53de73a3

int blobLength = (int) blob.length();
byte[] blobAsBytes = blob.getBytes(1, blobLength);
System.out.println(blobAsBytes);
//prints [B@3179fd59`

有什么想法吗?

编辑:我也尝试使用 array.equals() 它给了我一个错误的输出。

最佳答案

为什么你会期望它们是相同的?您正在字节数组上使用 toString() 方法进行打印,这将为您提供类型信息 + 与内存相关(但不一定)的数字位置(当 toString() 未被覆盖时,它实际上是 hashCode())。

如果您想比较它们,请对两个字节数组使用equals()。或者可能逐一比较元素(首先检查长度以避免大小不匹配时不必要的遍历)

关于java - 在 java 中将字节转换为 blob 并再次从 blob 转换为字节时会产生不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13605822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com