SORU
14 Kasım 2010, Pazar


Nasıl varsayılan .eşittir .hashCode derslerim için çalışacak?

Benim sınıf arkadaşım var

public class MyObj { /* ... */ }

Bazı özellikler ve yöntemler vardır. , HashCode uygulamak eşit DEĞİLDİR uygulamıyor.

Biz hashCode ve equals çağrı sonra, varsayılan uygulamaları nelerdir? Nesne sınıf? Ve onlar nelerdir? Varsayılan nasıl çalışır eşittir? Varsayılan nasıl hashCode çalışacak ve getirisi ne olacak? == sadece onlar kolay yani aynı nesne için referans, ama eşit ne kontrol eder() ve hashCode() metotları?

CEVAP
14 Kasım 2010, Pazar


Evet, varsayılan uygulama Nesne (genellikle; ve/veya eşittir hashCode yeniden bir sınıfından, o zaman bu uygulama yerine kullanacağınız konuşma).

doc:

eşittir:

Sınıf Nesne uygular için equals yöntemi en nesneleri mümkün denklik ayrımcılık; boş olmayan herhangi bir referans değerleri için x ve y, bu yöntem döndürür gerçek ve x ve y aynı nesne için x == y değeri true () bakın.

hashCode:

Oldukça pratik olduğu kadar, hashCode metodu sınıf Nesnesi tarafından tanımlanan dönüş farklı nesneler için farklı tamsayı yapar. (Bu genellikle bir tamsayı nesnesinin iç Adres dönüştürerek uygulanır, ancak bu uygulama tekniği Java programlama dili gerekli değildir.)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Apple

    Apple

    22 HAZİRAN 2005
  • engineerguy

    engineerguy

    10 Ocak 2010
  • TheOtherMau5

    TheOtherMau5

    6 Mart 2012