Örneğinizde şunlara sahipsiniz:
if (new BigInteger("1111000011110001", 2).toByteArray() == array)
Nesnelerle uğraşırken, ==java'da referans değerleri karşılaştırır . Tarafından döndürülen diziye toByteArray()yapılan referansın tutulan referansla aynı olup olmadığını kontrol ediyorsunuz array, bu elbette asla doğru olamaz. Ek olarak, dizi sınıfları geçersiz kılmaz, .equals()bu nedenle davranış Object.equals()aynı zamanda yalnızca referans değerlerini karşılaştırır.
İki dizinin içeriğini karşılaştırmak için , statik dizi karşılaştırma yöntemleri Arrays sınıfı tarafından sağlanır
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!");
}