java 泛型问题?
......
List entries = new ArrayList(); //1
.....
entries.addAll(inFeed.getEntries()); //2
......
第一行定义一个List类型的entries, 第二行的inFeed.getEntries()方法返回的是一个List类型的值,编译通不过,请问如何使用泛型解决?
编译器提示:
FeedAggregator.java: 警告:[unchecked] 未经检查的转换
找到: java.util.List
需要: java.util.Collection <? extends java.util.ArrayList>
entries.addAll(inFeed.getEntries());
^
------解决方案--------------------不是这样写的啦,你那上面找了半天,不过找到了,要改成
List <SyndEntry> entries = new ArrayList <SynEntry> ();
同时,还要把 SyndFeed 类中的 getEntries() 的方法返回类型从 List 改为 List <SyndEntry> 就基本上可以了。但是这个程序里所有有 List 代码的地方都要加上泛型参数,否则还会报警告。
------解决方案--------------------@SuppressWarnings( "unchecked ")
表示该项所涵盖的范围不需要显示所有的警告信息。
你也可以在将元素添加到List时强制类型转换或用泛型。