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

  • Andytokkallos

    Andytokkallo

    27 Kasım 2007
  • Tom Megalis

    Tom Megalis

    18 NİSAN 2006