SORU
15 Aralık 2008, PAZARTESİ


Nasıl tamir&; türü ihtiyaç Listesi ifadesi " kontrolsüz dönüşüm yaparım...'?

Java parçacığı:

SyndFeedInput fr = new SyndFeedInput();
SyndFeed sf = fr.build(new XmlReader(myInputStream));
List<SyndEntry> entries = sf.getEntries();

son satırı uyarı oluşturur

"Tür ifadesi List kontrolsüz dönüşüm List<SyndEntry> uymak zorundadır"

Bunu düzeltmek için uygun bir yolu nedir?

CEVAP
17 Mayıs 2010, PAZARTESİ


Bu pre-Java 5 API ile ilgili yaygın bir sorundur. Otomatikleştirme solution from erickson aşağıdaki genel yöntem oluşturabilirsiniz:

public static <T> List<T> castList(Class<? extends T> clazz, Collection<?> c) {
    List<T> r = new ArrayList<T>(c.size());
    for(Object o: c)
      r.add(clazz.cast(o));
    return r;
}

Bu size yapmanızı sağlar:

List<SyndEntry> entries = castList(SyndEntry.class, sf.getEntries());

Bu çözüm öğeleri gerçekten bir döküm yoluyla doğru öğe türü için denetler, çünkü, güvenli ve SuppressWarnings gerektirmez.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Awesomesauce Network

    Awesomesauce

    4 EKİM 2012
  • Djbasilio AuToBaSs

    Djbasilio Au

    20 Aralık 2008
  • michellefeng's channel

    michellefeng

    26 Kasım 2006