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

  • Greater Than Gatsby Photoshop Actions & Lightroom Presets

    Greater Than

    11 ŞUBAT 2013
  • PhoneArena

    PhoneArena

    7 NİSAN 2006
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009