In the Java snippet:
SyndFeedInput fr = new SyndFeedInput(); SyndFeed sf = fr.build(new XmlReader(myInputStream)); List<SyndEntry> entries = sf.getEntries();
the last line generates the warning
‘The expression of type List needs unchecked conversion to conform to List<SyndEntry>‘
What’s an appropriate way to fix this?
Since
getEntriesreturns a rawList, it could hold anything.The warning-free approach is to create a new
List<SyndEntry>, then cast each element of thesf.getEntries()result toSyndEntrybefore adding it to your new list.Collections.checkedListdoes not do this checking for you—although it would have been possible to implement it to do so.By doing your own cast up front, you’re ‘complying with the warranty terms’ of Java generics: if a
ClassCastExceptionis raised, it will be associated with a cast in the source code, not an invisible cast inserted by the compiler.