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ş:
Nasıl tamir: Handler " PageHandlerFact...
Class türü ifadeler oluşturmak&; Liste...
Nasıl SQLite veritabanı dosyası tablol...
Nasıl tarih sadece SQL Server datetime...
Nasıl sözlük değerlere göre sözlükler ...