SORU
13 Mayıs 2009, ÇARŞAMBA


Nedeninin ne olduğu neden Göster.get(Object key) (tam) genel değil

Tamamen genel bir yöntem için değil, bu kararın arkasındaki sebep nedir java.util.Map<K, V> arayüzü.

Bu soruyu açıklığa kavuşturmak için, yöntem imzası

V get(Object key)

yerine

V get(K key)

ve neden (remove, containsKey, containsValue için aynı şeyi) merak ediyorum.

CEVAP
13 Mayıs 2009, ÇARŞAMBA


Başkaları tarafından belirtildiği gibi, bunun nedeni get() vb. değil, çünkü genel anahtar girişi vardır alınıyor henuz aynı tür nesneyi size geçmek get(); şartname yöntem sadece gerektiren onlar eşit. Bu parametre, sadece nesne ile aynı tür olarak equals() yöntem bir Nesne ne kadar zaman alır izler.

Gerçi olabilir sık gerçek birçok ders var equals() tanımlanmış, böylece nesneleri sadece eşit nesnelerin kendi sınıf, orada pek çok yerde Java yerde bu durum söz konusu değildir. Örneğin, List.equals() teknik özellikleri List farklı uygulamaları olsa bile iki Liste nesneleri Listeler ikisi de aynı içeriğe sahip ise eşit olduğunu söylüyor. Bu yüzden geri dönüyorum örnekte bu soruya göre şartname yöntemidir şu an için Map<ArrayList, Something> ve beni arayıp get() LinkedList olarak tartışma ve almak anahtar bir liste ile aynı içeriği. Bu get() genel ve bağımsız değişken türü ile sınırlı ise mümkün olmazdı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alex maybury

    alex maybury

    20 Aralık 2007
  • ICON

    ICON

    19 EKİM 2011
  • Monica Catral

    Monica Catra

    12 NİSAN 2009