首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >比较两个字节数组?(Java)

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

Stack Overflow用户
提问于 2011-03-26 10:44:12
回答 5查看 116.9K关注 0票数 99

我有一个字节数组,其中包含一个已知的二进制序列。我需要确认二进制序列就是它应该是的样子。除了==之外,我还尝试过.equals,但都不起作用。

代码语言:javascript
复制
byte[] array = new BigInteger("1111000011110001", 2).toByteArray();
if (new BigInteger("1111000011110001", 2).toByteArray() == array){
    System.out.println("the same");
} else {
    System.out.println("different'");
}
EN

回答 5

Stack Overflow用户

发布于 2011-03-26 10:46:44

查看静态java.util.Arrays.equals()方法系列。有一个可以做你想要的。

票数 65
EN

Stack Overflow用户

发布于 2011-03-26 10:47:45

Java不重载运算符,因此您通常需要一个用于非基本类型的方法。尝试Arrays.equals()方法。

票数 11
EN

Stack Overflow用户

发布于 2015-05-22 23:10:19

您可以同时使用Arrays.equals()MessageDigest.isEqual()。但这两种方法有一些不同之处。

MessageDigest.isEqual()是一种时间常数比较方法,而Arrays.equals()是非时间常数的,如果在安全应用中使用它可能会带来一些安全问题。

有关差异的详细信息,请访问Arrays.equals() vs MessageDigest.isEqual()

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5440039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档