我有一个字节数组,其中包含一个已知的二进制序列。我需要确认二进制序列就是它应该是的样子。除了==
之外,我还尝试过.equals
,但都不起作用。
byte[] array = new BigInteger("1111000011110001", 2).toByteArray();
if (new BigInteger("1111000011110001", 2).toByteArray() == array){
System.out.println("the same");
} else {
System.out.println("different'");
}
发布于 2011-03-26 10:46:44
查看静态java.util.Arrays.equals()
方法系列。有一个可以做你想要的。
发布于 2011-03-26 10:47:45
Java不重载运算符,因此您通常需要一个用于非基本类型的方法。尝试Arrays.equals()方法。
发布于 2015-05-22 23:10:19
您可以同时使用Arrays.equals()
和MessageDigest.isEqual()
。但这两种方法有一些不同之处。
MessageDigest.isEqual()
是一种时间常数比较方法,而Arrays.equals()
是非时间常数的,如果在安全应用中使用它可能会带来一些安全问题。
有关差异的详细信息,请访问Arrays.equals() vs MessageDigest.isEqual()
https://stackoverflow.com/questions/5440039
复制相似问题