SORU
3 Aralık 2008, ÇARŞAMBA


Java Jenerik: Jenerik türü dönüş türü olarak tanımlanan sadece

GWT için bazı GXT kod bakıyorum ve Java eğitimlerini başka bir örnek bulamıyorum bu Jenerik bu kullanımı karşılaştım. Sınıf adı ise tüm kod bakmak istiyorsanız com.extjs.gxt.ui.client.data.BaseModelData. Burada önemli olan parçalar

private RpcMap map;

public <X> X get(String property) {
  if (allowNestedValues && NestedModelUtil.isNestedProperty(property)) {
    return (X)NestedModelUtil.getNestedValue(this, property);
  }
  return map == null ? null : (X) map.get(property);
}

X tanımlanan, başka bir yerde, sınıf veya herhangi bir yerinde hiyerarşi ve ne zaman vurdum "gitmek Bildirgesi" eclipse sadece gider <X> halka yöntem imzası.

Ne olacağını görmek için aşağıdaki iki örnek ile bu yöntemi aramaya çalıştım

public Date getExpiredate() {
    return  get("expiredate");
}

public String getSubject() {
    return  get("subject");
}

Onlar derlemek ve hiçbir hata veya uyarı göster. En azından bu işe almak için bir oyuncu olurdu diye düşünüyorum.

Bu Jenerik bir şey olabilir ve sadece çalışma zamanında patlayacak sihirli bir dönüş değeri izin anlamına mı geliyor? Bu jenerik ne kadar karşı gibi görünüyor. Biri bana bunu açıklayabilir ve belki bu beni biraz daha iyi açıklayan bazı belgeler için bir link vermek? 23. jenerik sayfasında pdf Güneş geçti ettik ve dönüş değeri her örnek, her iki sınıf düzeyinde ya da geçirilen parametreleri olarak tanımlanır.

CEVAP
3 Aralık 2008, ÇARŞAMBA


Yöntemi ne olursa olsun, olmasını beklediğiniz bir türü (<X> yöntem olarak tanımlanır ve kesinlikle sınırsız) verir.

Bu herhangi bir hüküm dönüş türü aslında dönen değeri eşleşen yapıldığından çok, çok tehlikelidir.

Bunun tek avantajı, herhangi bir döndürme türü gibi genel arama yöntemler dönüş değeri atama gerek yok.

Bence çok fazla tür güvenliği ve get() Her çağrı açık bir tonunu yazmak zorunda değilsin sadece kazanç kaybedersiniz. çünkü dikkatli bu yapıları kullanmak,

Ve evet: bu daha çok çalışma zamanında darbeler ve jenerik ulaşmak gereken tüm fikir keser, kara büyü.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Darren Kitchen

    Darren Kitch

    3 EKİM 2011
  • MikeyMacintosh

    MikeyM

    28 Aralık 2009
  • Shameless Maya

    Shameless Ma

    24 Mayıs 2012