SORU
22 EYLÜL 2011, PERŞEMBE


== Eşittir vs Java() karışıklık

Eğer bunu anlıyorsam açıklamak doğru istedim:

  • == ->referans bir karşılaştırma, yani iki nesne aynı bellek konumuna işaret
  • .equals() ->değerleri karşılaştırma için değerlendirir nesneleri

Doğru anlayışımla mıyım ?

CEVAP
22 EYLÜL 2011, PERŞEMBE


Genel olarak, Sorunuzun cevabı "" ama... evet

  • eşittir sadece karşılaştırmak için yazılmıştır ne karşılaştırmak olacak, ne eksik ne fazla.
  • eğer bir sınıf yöntemi geçersiz kılma equals yok değilse, o zaman bu yöntem geçersiz olduğu en yakın üst sınıfı equals(Object o) yöntemi için varsayılan kullanılır.
  • Eğer üst sınıflar geçersiz kılma sağlanan varsa, o zaman nihai ana sınıfından yöntemi varsayılan olarak, Nesne, ve Object#equals(Object o) yöntemi ile kaldı. Nesne API başına bu ==;, true değerini döndürür aynıdırEğer ve sadece eğerher iki değişken ise başvurularını bir ve aynı ise aynı nesneye bakın. Böylece test olacakeşitlik nesnedeğilfonksiyonel eşitlik.
  • Hep senin için equals geçersiz hashCode geçersiz kılmak için hatırla "sözleşme". API göre, sonuç iki nesne için hashCode() yöntemi döndügerekireğer equals kendi yöntemleri eşdeğer olduğunu gösterir aynı olması. Conversedeğilher zaman doğru.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • HowcastTechGadgets

    HowcastTechG

    22 EYLÜL 2010
  • Thom Hall

    Thom Hall

    24 Kasım 2006