比较两个字节数组?(Java)

比较两个字节数组?(Java),第1张

比较两个字节数组?(Java)

在您的示例中,您具有:

if (new BigInteger("1111000011110001", 2).toByteArray() == array)

在处理对象时,

==
java中会比较 参考值
。您正在检查对by返回的数组的引用
toByteArray()
是否与所保存的引用相同
array
,这当然永远不会正确。此外,数组类不会覆盖,
.equals()
因此其行为
Object.equals()
仅是比较参考值

为了比较两个数组的 内容
,Arrays类提供了静态数组比较方法。

byte[] array = new BigInteger("1111000011110001", 2).toByteArray();byte[] secondArray = new BigInteger("1111000011110001", 2).toByteArray();if (Arrays.equals(array, secondArray)){    System.out.println("Yup, they're the same!");}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5499797.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存