SORU
26 Mart 2011, CUMARTESİ


İki Bayt Dizi karşılaştırmak? (Java)

Bu ~bilinen ikili bir sıra ile bayt bir dizi var. İkili sıra olması gerekiyordu ne olduğunu teyit etmek istiyorum. Denedim '.'ayrıca,'==', ama ne işe yaradı eşittir.

byte[] array = new BigInteger("1111000011110001", 2).toByteArray();
if (new BigInteger("1111000011110001", 2).toByteArray() == array){
    System.out.println("the same");
}else{
    System.out.println("different'");
}

CEVAP
26 Mart 2011, CUMARTESİ


Sizin örnekte, var:

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

Nesneler, == java ile ilgili karşılaştırdığındareferans değerler. Eğer dizi referansı toByteArray() tarafından döndürülen referans tabii ki asla gerçek olabilir array tutulan ve aynı olup olmadığını görmek için kontrol edin. Buna ek olarak, bir dizi sınıf davranış, sadece referans değerlerini karşılaştıran Object.equals() O .equals() geçersiz kılmaz.

Karşılaştırmak içiniçindekileriki diziler statik dizi karşılaştırma yöntemleri Arrays class tarafından verilmektedir

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!");
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 0TACTICAL0HIPPY0

    0TACTICAL0HI

    30 EYLÜL 2012
  • Titan Lee Hai

    Titan Lee Ha

    14 Temmuz 2008
  • VJ VIMANA

    VJ VIMANA

    3 Mayıs 2007