SORU
6 Ocak 2010, ÇARŞAMBA


Class türü ifadeler oluşturmak&; Listesi< lt nasıl;?&;> gt;

Aşağıdaki al:

public Class<List<String>> getObjectType() {
    // what can I return here?
}

Sınıf edebi anlatım ben jenerik karşılamak ve derleme olacak bu yöntem dönüş ne yapabilirim? List.class derleme olmayacak, ne de List.<String>class.

Eğer merak ediyorsanız "neden", Bahar uygulaması beni Class<List<String>> getObjectType() uygulamak için gerektirir FactoryBean<List<String>>, yazıyorum. Ancak, budeğilBahar bir soru.

düzenleme:Benim ağlamaklı çığlıkları SpringSource de bazı güçler tarafından duyulmuş ve Bahar 3.0.1 dönüş getObjectType() düzgünce sorunu engeller Class<?>, değiştirildi türü var.

CEVAP
6 Ocak 2010, ÇARŞAMBA


Her zaman ne gerek, gibi çevirebilirsiniz

return (Class<List<String>>) new ArrayList<String>().getClass();

ya

return (Class<List<String>>) Collections.<String>emptyList().getClass();

Ama bundan sonra ne olmadığını varsayıyorum. İşe de yaradı, bir uyarı ile, ama tam olarak değil"". güzel

Ben sadece bunu buldum

Neden hiçbir sınıf joker parametreli türleri için değişmez var mı?

Joker parametrik yazın çünkü kesin bir zamanı temsil türü vardır.

Döküm gitmek için tek yol olabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • H3Ctic (old channel)

    H3Ctic (old

    23 Mart 2011
  • TWiT Netcast Network

    TWiT Netcast

    27 EKİM 2005